-4

我在发布配置中使用 VS2010 和 C++

以下执行正常:

int status;
try
{
    status = myfunction(arg1, arg2);
}
catch (int e)
{
    cout << "An exception occurred. Exception Nr. " << e << endl;
}

但是,以下内容使程序崩溃:

int status;
status = myfunction(arg1, arg2);

发生了什么?
我没有方法的来源,myfunction,它是第三方 dll 的一部分。

4

1 回答 1

5

通过删除 try/catch 块,您不会捕获调用函数时引发的异常。这会导致未捕获的异常一直结束堆栈,main()并且由于它仍未处理,因此退出程序

从输出看来,抛出的整数似乎是确切发生错误的代码。要查看这是否可以调和,您需要查找错误代码。

于 2012-05-21T15:30:00.353 回答