C++中的例外處理是處理執行時錯誤的過程。 我們執行例外處理,以便即使在執行時出現錯誤後也能保持正常的應用程式流轉。
在C++中,異常是在執行時丟擲的事件或物件。 所有異常都派生自std::exception
類。 它是一個可以處理的執行時錯誤。 如果我們不處理異常,它就會列印異常訊息並終止程式。
例外處理保持應用程式的正常流轉。 在這種情況下,即使在異常之後仍執行程式碼的其餘部分。
C++異常類
在C++中,標準異常在 exception
類中定義,我們可以在程式中(直接或繼承)使用它。 父子類層次結構的排列如下所示:
C++中的所有異常類都是從std::exception
類派生的。 下面來看看看C++常見異常類的列表。
異常 | 描述 |
---|---|
std::exception |
它是所有標準C++異常的異常和父類別。 |
std::logic_failure |
這是一個異常,可以通過讀取程式碼來檢測。 |
std::runtime_error |
這是一個異常,不能通過讀取程式碼來檢測。 |
std::bad_exception |
|
std::bad_cast |
這個異常通常由dynamic_cast 丟擲。 |
std::bad_typeid |
這個異常通常由typeid 丟擲。 |
std::bad_alloc |
這個異常通常由new 丟擲。 |
在C++中,我們使用3
個關鍵字來執行例外處理:
此外,還可以建立使用者定義的異常,在接下來的章節中學習。