【发布时间】:2010-09-26 23:02:26
【问题描述】:
我在一个项目中发现了一些看起来像这样的代码:
int main(int argc, char *argv[])
{
// some stuff
try {
theApp.Run();
} catch (std::exception& exc) {
cerr << exc.what() << std::endl;
exit(EXIT_FAILURE);
}
return (EXIT_SUCCESS);
}
我不明白为什么要捕获异常。如果不是,应用程序将简单地退出并打印异常。
您认为有什么好的理由在这里捕获异常吗?
编辑:我同意打印异常错误是件好事。但是,重新抛出异常不是更好吗?我觉得我们在这里吞下了它……
【问题讨论】:
-
怎么会被吞下去?代码打印异常消息,然后退出。你还能做什么?如果你重新抛出异常,谁会看到它?会在哪里抓到?毕竟这是程序的入口点。
标签: c++ exception exception-handling