目前,我知道有两种情况:windows
由于“面向错误的原因”而控制线程的执行(尽管有时用作代码流机制,例如{{1} }):
SEH(分别是c,c ++包装器 - try/catch
和__try/__except
),其中还有一个API
可用于生成自己的例外。
堆栈损坏。
据我所知,在发生案例(2)时,操作系统会关闭整个过程,而不会发出任何用户通知。
我的奇迹如下:
对于try/catch
应用程序线程是否有任何其他记录方式以操作系统控制方式“搞乱”?
除了堆栈损坏之外,是否存在整个流程未经通知关闭的情况?
是否存在user-mode
阻止,catch
阻止,甚至更积极地将__except
手动放置在EXCEPTION_RECORD
中的功能(如在Pietrek's article)中显示,在抛出异常时不会给予控制权?