異常處理透過 throw 和 catch 語句管理函數中的錯誤。 throw 語句觸發異常,catch 語句根據異常類型捕捉異常。在函數中及早捕獲異常並提供清晰的錯誤訊息至關重要。選擇正確的異常類型,謹慎使用泛型 catch 區塊,並在泛型 catch 區塊中適當處理未知異常。
C 函數異常疑難排解:瞭解錯誤處理精髓
異常處理對於處理函數中的錯誤和例外至關重要。 C 中的異常透過 throw
和 catch
語句實現。
throw
語句
throw
語句用來觸發例外。它接收一個可拋出物件作為參數,該物件可以是標準異常類型(如 std::runtime_error
)或自訂例外類型。
catch
語句
catch
語句用來擷取例外。它接受異常類型或泛型異常類型(std::exception
)作為參數。如果拋出的例外類型與 catch 區塊的參數類型匹配,則執行 catch 區塊。
實戰案例
考慮一個函數,該函數計算兩個數字的除法:
double divide(double num1, double num2) { if (num2 == 0) { throw std::runtime_error("除数不能为 0"); } return num1 / num2; }
現在考慮一個呼叫該函數並處理異常的主函數:
int main() { try { double result = divide(10, 2); std::cout << "结果:" << result << std::endl; } catch (std::runtime_error& e) { std::cout << "错误:" << e.what() << std::endl; } catch (...) { std::cout << "未知错误" << std::endl; } return 0; }
如果num2 為0,則divide
函數將拋出std::runtime_error
例外。主函數中的第一個 catch
區塊將捕獲該異常並列印錯誤訊息。如果拋出其他類型的異常,則將執行第二個 catch 區塊並列印「未知錯誤」。
理解錯誤處理精髓
catch (...)
)。 以上是C++ 函式異常疑難排解:瞭解錯誤處理精髓的詳細內容。更多資訊請關注PHP中文網其他相關文章!