第五章語句
指當if分支躲雨else分支時,如何為else尋找與之匹配的if分支的問題:
- C 規定,else與離它最近的尚未匹配的if匹配,從而消除了二義性。
switch (ch) { case 'a': case 'b': ++n; break; }
break跳出switch控制流。
case標籤(case lable)必須是整數常數表達式。
如果某個case標籤匹配成功,將從該標籤開始往後順序執行所有分支,除非顯示的中斷這一過程,否則直到switch的結尾處才會停下來。
case標籤後的語句加花括號({ }),將變數定義在區塊內,從而保證後面所有的case標籤都在變數的作用域外。
default標籤:一種特殊的case標籤,switch與所有case都無法匹配時,執行default標籤下的內容。
do statementwhile (condition); //注意分号
不允許在迴圈條件內定義變數。
且條件部分的變數必須定義在循環體外。
#負責終止離它最近的while、do while、 for 或switch 語句,並從這些語句之後的第一條語句開始執行。
for、while、do while
throw表達式(throw expression):異常檢測部分使用throw表達式來表示它遇到了無法處理的問題。
稱throw**引發**(raise)了例外。
拋出異常之後將終止函數,並將控制權轉移給能處理該例外的程式碼。
try語句區塊(try block):try開始,以一個或多個catch子句(catch clause)結束。
try語句區塊中程式碼拋出的例外通常會被某個catch子句處理。
稱為catch子句為異常處理程式碼(exception handler)。
異常類別(exception class)
try { //program-statements } catch (/*exception-declaration异常声明*/) { //handler-statements } catch (/*exception-declaration*/) { //handler-statements } //...
異常聲明指定該catch子句能夠處理的異常類型。
C 標準庫定義了一組類,用於報告標準庫函數遇到的問題。
在以下4個頭檔:
- exception:定義了最通用的異常類別exception,只報告異常的發生,不提供任何額外資訊。
- stdexcept
- 使用string物件或C風格的字串初始化
- 只有一個成員函數what()
exception //最常見的問題
runtime_error //只有在運作時才能偵測出的問題
overflow_error //
underflow_error
logic_error
domain_error
invalid_arguement
length_error
out_og_range
- new:bad_alloc
- type_info:bad_cast
#參考:C Primer第五版
相關文章:
以上是第五章C++:語句的相關介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!