标签:style width mes exec stream 一个 出现 main cat
如果我们编写了一个函数,函数内部可能会出现异常,但是我们不想在这个函数内处理,而是想要通知调用者,那么C++允许它重抛出这个异常。语法如下:
try { //Execute some code } catch (Exception& e) { //Peform some operations before exits throw; }
语句throw重新抛出了异常。
看一个实际的例子:
#include <iostream> #include <stdexcept> using namespace std; int f(){ try{ throw runtime_error("Exception in f"); } catch(exception& e){ cout << "Exception caught in f" << endl; cout << e.what() << endl; throw; } } int main() { try{ f(); } catch(exception& e){ cout << "Exception caught in main" << endl; cout << e.what() << endl; } return 0; }
运行结果:
标签:style width mes exec stream 一个 出现 main cat
原文地址:https://www.cnblogs.com/bwjblogs/p/12826726.html