7

什么是 uncaught_exception 的好用例?

4

3 回答 3

7

Herb Sutter 似乎在这里给出了很好的建议。他不知道它有什么用处,并说在某些看起来有用的情况下并没有真正起作用。

于 2008-11-08T22:30:52.993 回答
2

可能没有

于 2008-11-08T22:17:46.810 回答
2

uncaught_exception可以在析构函数中使用,以确定它们是否在异常上下文中执行(抛出将终止程序)。我不同意这种哲学有一点缺陷,但这取决于您对异常的使用 - 如果您的异常是可恢复的错误,那么尝试修复它而不是让代码的另一部分尝试修复它可能更方便像往常一样处理它。

如果您的代码需要活动异常,它也很有用(这种情况很少见,但有时您有一个异常控制库将用于throw;获取当前异常,但如果没有异常则会导致终止,因此uncaught_exception可用于确定是否会中止(如果是,可能会抛出异常!)。一个例子是新的异常设施,它也是 boost 的一部分。

于 2008-11-09T02:55:22.630 回答