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