[C++ Primer Note4] 語句
- 在switch語句中,case標籤必須是整型常量表達式
- 程式執行流不能跳過包含初始化的變數定義
- 異常是指存在於執行時 的反常行為,這些行為超出了函式正常功能的範圍,典型的異常包括失去資料庫連線以及遇到以外輸入等。
- 異常處理機制為程式中異常檢測和異常處理這兩部分的協作提供支援。在C++語言中,異常處理包括:
- throw表示式(throw expression):異常檢測部分用throw來表示它遇到了無法處理的問題。
- try語句塊(try block):try語句塊中丟擲的異常通常被多個catch子句 處理。
- 一套異常類(exception class),用於在throw和catch之間傳遞異常的具體資訊
- 如果找不到匹配的catch子句或者對於沒有任何try語句塊定義的異常,程式轉到名為terminate 的標準庫函式,導致程式非正常退出。
- C++標準庫定義了一組類,用於報告標準庫函式遇到的問題。這些異常類也可以在使用者編寫的程式中使用。
- exception標頭檔案:定義了最通用的異常類exception,只報告異常的發生
- stdexcept標頭檔案:定義了幾種常用的異常類
- new標頭檔案定義了bad_alloc異常型別
- type_info標頭檔案定義了bad_cast異常型別
異常型別只定義了一個名為what 的成員函式,該函式沒有任何引數,返回值是一個指向C風格字串的const char*。