在堆栈展开期间,可以检查尚未处理的异常数。
应该使用什么,或者我不应该使用它?
uncaught_exceptions ()返回当前活动的例外数量。活跃意味着抛出或重新抛出但尚未处理。
据我所知,如果要终止程序或处理异常并将程序设置回良好状态(或重试),则可以在堆栈展开期间进行检查。 具体而言,这可能是析构函数中的情况,我可以保证不会抛出异常。
在同一个笔记Bjarne Stroustrup mentions中,在异常处理程序代码中重新抛出是不好的做法,因为我们很容易进入调用终止的情况。