C++錯誤處理


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++例外處理關鍵字

在C++中,我們使用3個關鍵字來執行例外處理:

  • try
  • catch
  • throw

此外,還可以建立使用者定義的異常,在接下來的章節中學習。