![]() |
1
4
标准(_§15.1/2)中的措辞是(强调我的):
何时“退出”了Try块?根据语法(_§15/1),试块以 序列 处理程序,因此块在最后一个处理程序结束时结束。换言之:
是的,你的代码很好。当重新抛出时,最近的try块有一个匹配的处理程序(即
|
![]() |
2
6
你的原始代码没问题。捕获了不同的异常类型,并调用了一个函数,该函数将记录一条消息并重新执行。这个
您的新代码也可以。捕获所有内容,然后调用另一个函数返回到更具体的处理程序是可以的。那是
the
exception dispatcher
idiom described in the C++ FAQ
. 重新引发异常看起来有点奇怪
之后
调度块已完成,但如果相同
|
|
lfox · 如果列中不存在某个值,则停止代码执行 2 年前 |
![]() |
zaen · 将值传递到异常字符串消息中 2 年前 |
![]() |
Zephyr · 如何在双ListView选择系统上实现过滤器? 6 年前 |
![]() |
Aave · 错误数组长度的特定异常 6 年前 |