C++錯誤處理

C++中的異常處理是處理運行時錯誤的過程。 我們執行異常處理,以便即使在運行時出現錯誤後也能保持正常的應用程序流轉。

在C++中,異常是在運行時拋出的事件或對象。 所有異常都派生自std::exception類。 它是一個可以處理的運行時錯誤。 如果我們不處理異常,它就會打印異常消息並終止程序。

異常處理的優點

異常處理保持應用程序的正常流轉。 在這種情況下,即使在異常之後仍執行代碼的其餘部分。

C++異常類

在C++中,標準異常在 exception 類中定義,我們可以在程序中(直接或繼承)使用它。 父子類層次結構的排列如下所示:

C++錯誤處理

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

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