C++ 處理多個異常的方式包括使用 try-catch 區塊,其允許針對特定異常類型捕獲並處理異常;還可以使用 try 區塊和一個 catch (...) 區塊來捕獲所有異常類型。在實戰案例中,try 區塊嘗試除法操作,並透過兩個 catch 區塊分別擷取 invalid_argument 和 exception 異常類型,輸出對應的錯誤訊息。
C++ 為處理多個例外狀況提供了多種方法,包括:
try-catch 區塊
try { // 代码可能引发异常 } catch (const std::exception& e) { // 处理 std::exception 异常 } catch (const std::runtime_error& e) { // 处理 std::runtime_error 异常 }
catch(...)
try { // 代码可能引发异常 } catch (...) { // 处理所有异常 }
typeid
try { // 代码可能引发异常 } catch (const std::exception& e) { if (typeid(e) == typeid(std::runtime_error)) { // 处理 std::runtime_error 异常 } }
以下範例示範了使用try-catch 區塊處理多個例外:
#include <iostream> #include <exception> using namespace std; int main() { try { int x = 10; int y = 0; cout << "x / y = " << x / y << endl; } catch (const invalid_argument& e) { cout << "Division by zero error: " << e.what() << endl; } catch (const exception& e) { cout << "Error: " << e.what() << endl; } return 0; }
#在這個範例中:
區塊嘗試執行可能引發異常的程式碼。
區塊處理
invalid_argument 例外。
區塊處理所有其他例外狀況。
Division by zero error: invalid argument
以上是如何在C++中處理多個異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!