C++ Primer 5th學習筆記4 異常語句

語句

try語句塊和異常處理

  C++語言中,異常處理包括以下幾種:

  • throw表達式,異常檢測部分使用throw表達式,來表示程序遇到了無法處理的問題。
  • try語句塊(try block),異常處理部分使用try語句塊處理異常,try語句塊以關鍵字key開始,並以一個或多個catch子句結束。
  • 一套異常類,用於在throw表達式和相關catch子句之間傳遞異常的具體信息。

1、try語句塊

  try語句的通用語法形式是:

try
{
    program-statements
}
catch (exception-declaration)
{
    handler-statements
}
catch (exception-declaration)
{
    handler-statements
}

2、標準異常

  C++標準庫中定義了一組類,用於報告標準庫函數遇到的問題。這些類分別定義在以下四個頭文件中:

  • exception頭文件定義了最通用的異常類exception。此類只報告異常的發生,不提供任何額外信息。

  • stdexcept頭文件定義了幾種常用的異常類

  • new頭文件定義了bad_alloc異常類型

  • type_info頭文件定義了bad_cast異常類型

    <stdexcept>定義的異常類

exception 最常見的問題
runtime_error 只有在運行時才能檢測出的問題
range_error 運行時錯誤:生成的結果超出了有意義的值域範圍
overflow_error 運行時錯誤:計算上溢
underflow_error 運行時錯誤:計算下溢
logic_error 程序邏輯錯誤
domain_error 邏輯錯誤:參數對應的結果值不存在
invalid_error 邏輯錯誤:無效參數
length_error 邏輯錯誤:試圖創建一個超出改類型最大長度的對象
out_of_error 邏輯錯誤:使用一個超出有效範圍的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章