異常處理中的 throw 語句用於拋出異常,rethrow 語句用於在捕獲的異常中再次拋出相同的異常。 throw 語句的語法為:throw exception_object; rethrow 語句的語法為:rethrow; throw 和 rethrow 語句僅在需要向呼叫者報告錯誤時使用,且異常資訊需清晰有用。
C 函數異常處理中的throw 和rethrow 語句
異常是執行時期發生的錯誤或例外情況,可以使用throw 語句拋出。 rethrow 語句用於在捕獲的異常中再次拋出相同的異常。
throw 語句
throw 語句用來拋出一個例外物件。其語法如下:
throw exception_object;
其中 exception_object
是一個異常對象,可以是標準異常類別或使用者定義異常類別的實例。
實戰案例
讓我們考慮一個函數 divide()
,它計算兩個數字的商。如果分母為零,則會拋出異常。
void divide(int a, int b) { if (b == 0) { throw runtime_error("除数不能为零"); } cout << "商为 " << a / b << endl; }
rethrow 語句
rethrow 語句用於在一個捕獲的例外中再次拋出相同的例外。其語法如下:
rethrow;
實戰案例
讓我們擴展divide()
函數,以捕獲runtime_error
# 異常並使用rethrow 再次拋出它。
void divide(int a, int b) { try { if (b == 0) { throw runtime_error("除数不能为零"); } cout << "商为 " << a / b << endl; } catch (runtime_error& e) { cerr << "错误: " << e.what() << endl; rethrow; // 重新抛出异常 } }
用法提示
以上是C++ 函式異常處理中的 throw 和 rethrow 語句的作用是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!