如何为类添加一个异常处理程序?

时间:2010-07-09 02:14:14

标签: c++ exception exception-handling

我试图使用一个异常处理程序来处理C ++类引发的所有异常。有没有一种简单的方法,而不是将代码添加到每个成员函数?

由于

2 个答案:

答案 0 :(得分:3)

你应该做的事情没有简单的方法。

例外的一点是他们处理异常条件 - 即:意外的东西。并且它们会导致执行冒泡到知道如何处理它们的代码。如果你的班级中有一个应该处理所有异常的定义点,要么你知道它们会被抛出并想要吞下它们(读:你滥用异常)或者你不知道他们会去被抛出,只是想吞下它们来隐藏错误(读:你正在创建一个调试器的噩梦和滥用异常)。

如果您无法轻松处理异常,请将其抛出。不要吞下它,不要假装它没有发生。

答案 1 :(得分:0)

我完全同意cHao。

如果您只是想确保一些简单的异常不会导致程序崩溃,那么例如,如果您正在编写GUI应用程序,则可以将事件循环包装在try / catch块中,然后根据异常,决定记录它,告诉用户,请求允许发送错误报告,关闭程序(如果你自动重新启动它就很好......)等等(如果它完全退出你的事件循环没有被抓住,你可能想知道它!)