uncaught_exception的一个很好的用例是什么?
答案 0 :(得分:7)
Herb Sutter似乎给出了很好的建议here。他不知道它有什么用处,并说某些看似有用的案例并不真正有效。
答案 1 :(得分:2)
答案 2 :(得分:2)
uncaught_exception
可以在析构函数中使用,以确定它们是否在异常的上下文中执行(其中throw将终止程序)。我不同意哲学存在轻微缺陷,但这取决于您对异常的使用 - 如果您的异常是可恢复的错误,那么尝试修复它可能更方便,而不是让代码的另一部分尝试像往常一样处理它。
如果您的代码需要活动异常,这也很有用(这种情况很少见,但偶尔您会有一个异常控制库,它将使用throw;
来获取当前异常,但是如果有的话会导致终止是无,所以uncaught_exception
可用于确定是否会中止(如果是,可能会抛出异常!)。例如新的异常工具,它也是boost的一部分。