1. 程式人生 > >c++基礎(十三)——異常處理

c++基礎(十三)——異常處理

err fun runt splay cat c++基礎 自動 所有 參數

異常處理的思想與程序實現

異常處理的基本思想

技術分享圖片

異常處理的語法

技術分享圖片

異常接口聲明

  • 一個函數顯式聲明可能拋出的異常,有利於函數的調用者為異常處理做好準備
  • 可以在函數的聲明中列出這個函數可能拋擲的所有異常類型。
  • 例如:void fun() throw(A,B,C,D);
  • 若無異常接口聲明,則此函數可以拋擲任何類型的異常。
  • 不拋擲任何類型異常的函數聲明如下:void fun() throw();

異常處理中的構造與析構

自動的析構

1、 找到一個匹配的catch異常處理後

  • 初始化異常參數。
  • 將從對應的try塊開始到異常被拋擲處之間構造(且尚未析構)的所有自動對象進行析構。

2、 從最後一個catch處理之後開始恢復執行。

標準程序庫異常處理

標準異常類的繼承關系

技術分享圖片

C++標準庫各種異常類所代表的異常

技術分享圖片

標準異常類的基礎

  • exception:標準程序庫異常類的公共基類
  • logic_error表示可以在程序中被預先檢測到的異常,如果小心地編寫程序,這類異常能夠避免
  • runtime_error表示難以被預先檢測的異常

c++基礎(十三)——異常處理