为什么程序在没有try / catch的情况下失败?

时间:2012-05-21 15:24:49

标签: c++ visual-studio-2010 try-catch

我在发布配置中使用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的一部分。

1 个答案:

答案 0 :(得分:5)

通过删除try / catch块,您不会捕获调用该函数时引发的异常。这会导致未捕获的异常将堆栈一直汇总到main(),因为它仍然未处理,退出程序

从oputput看来,抛出的整数似乎是错误发生的代码。要查看是否可以进行协调,您需要查找错误代码。