prog17_06.cpp
来自「一本语言类编程书籍」· C++ 代码 · 共 40 行
CPP
40 行
// Program 17.6 Rethrowing exceptions File: prog17_06.cpp
#include <iostream>
#include "MyTroubles.h"
using std::cout;
using std::endl;
int main() {
Trouble trouble;
MoreTrouble moreTrouble;
BigTrouble bigTrouble;
cout << endl;
for(int i = 0 ; i < 7 ; i++) {
try {
try {
if(i < 3)
throw trouble;
if(i < 5)
throw moreTrouble;
else
throw bigTrouble;
}
catch(Trouble& rT) { // Inner handler
if(typeid(rT) == typeid(Trouble))
cout << "Trouble object caught: " << rT.what() << endl;
else
throw; // Rethrow current exception
}
}
catch(Trouble& rT) { // Outer handler
cout << typeid(rT).name() << " object caught: " << rT.what() << endl;
}
cout << "End of the for loop (after the catch blocks) - i is " << i << endl;
}
cout << endl;
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?