捕獲所有異常(catch-all)的catch子句的形式為“catch(…)”。
// matches any exception that might be thrown
catch(…) {
// place our code here
}
“catch(…)”經常與重新拋出異常的“throw;”語句結合使用。catch完成可做的所有局部工作之後,重新拋出異常。
try {
// actions that cause an exception to be thrown
}
catch(…) {
// work to partially handle the exception
throw;
}
需要注意,如果“catch(…)”與其他catch子句結合使用,它必須放在最後。否則,任何跟在它後面的catch子句都將不能被匹配。
【學習資料】 《c++ primer》