我有一个异常,它的raise
命令导致堆栈溢出。我阅读这篇文章是为了知道我应该怎么做: http: //www.debuggingexperts.com/modeling-exception-handling
我的理解是异常0xc0000025
意味着尝试捕获禁止捕获的异常(EXCEPTION_NONCONTINUABLE_EXCEPTION
)。我对吗?
如果是这样,我想知道是什么导致异常被定义为不可持续的。异常在 Pascal 中定义并从Exception
对象派生。
另外我没找到这个异常处理的地方,自己加了一个try-catch
block。异常捕获成功。为什么?
编辑
我想解释一下我需要帮助的具体情况:
有一个C++代码调用Pascal代码,它有异常定义,raise
命令发生在其中。
在我将try-catch
块放入 C++ 代码之前,Pascal 中的raise
in Pascal 会导致 1000 次异常,EXCEPTION_NONCONTINUABLE_EXCEPTION
直到堆栈溢出。
在我try-catch
在 C++ 代码中添加块后,raise
in Pascal 代码返回到catch
C++ 代码中的块。
现在我有两个问题:
- 为什么进程没有在第一个
NONCONTINUABLE
异常时停止? - 为什么
catch
C++ 代码中的块没有导致此异常?