Re[6]: Почему в расте отсутствует выброс исключений?
От: T4r4sB Россия  
Дата: 02.12.22 18:14
Оценка: 18 (1)
Здравствуйте, FR, Вы писали:

FR>Что-то смутно знакомое, с таким гашением, такое кажется и в C++ ловил на winapi, и оно точно есть в VCL с С++ builder.


А дело не в языке, а вот в этом: https://learn.microsoft.com/en-us/cpp/intrinsics/fastfail?view=msvc-170

Support for the native fast fail mechanism began in Windows 8. Windows operating systems that don't support the fast fail instruction natively will typically treat a fast fail request as an access violation

В семёрке это исключение

И в этом: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-wndproc

Behavior type How the system handles uncaught exceptions
1 The system suppresses any uncaught exceptions.
2 The system first terminates the process, and then the Program Compatibility Assistant (PCA) offers to fix it the next time you run the application. You can disable the PCA mitigation by adding a Compatibility section to the application manifest.
3 The system calls the exception filters but suppresses any uncaught exceptions when it leaves the callback scope, without invoking the associated handlers.

The following table shows how a 64-bit version of the Windows operating system, and WOW64, handles uncaught exceptions. Notice that behavior type 2 applies only to the 64-bit version of the Windows 7 operating system and later.
Operating system WOW64 64-bit Windows
Windows XP 3 1
Windows Server 2003 3 1
Windows Vista 3 1
Windows Vista SP1 1 1
Windows 7 and later 1 2

Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.