|
1
4
标准(_§15.1/2)中的措辞是(强调我的):
何时“退出”了Try块?根据语法(_§15/1),试块以 序列 处理程序,因此块在最后一个处理程序结束时结束。换言之:
是的,你的代码很好。当重新抛出时,最近的try块有一个匹配的处理程序(即
|
|
|
2
6
你的原始代码没问题。捕获了不同的异常类型,并调用了一个函数,该函数将记录一条消息并重新执行。这个
您的新代码也可以。捕获所有内容,然后调用另一个函数返回到更具体的处理程序是可以的。那是
the
exception dispatcher
idiom described in the C++ FAQ
. 重新引发异常看起来有点奇怪
之后
调度块已完成,但如果相同
|