第五章C++:語句的相關介紹

來源:互聯網
上載者:User

第五章 語句

懸垂else

指當if分支躲雨else分支時,如何為else尋找與之匹配的if分支的問題:
- C++規定,else與離它最近的尚未匹配的if匹配,從而消除了二義性。

switch

switch (ch) {    case 'a':    case 'b':        ++n;        break;}
  • break跳出switch控制流程。

  • case標籤(case lable)必須是整型常量運算式

  • 如果某個case標籤匹配成功,將從該標籤開始往後順序執行所有分支,除非顯示的中斷這一過程,否則直到switch的結尾處才會停下來。

  • case標籤後的語句加花括弧({ }),將變數定義在塊內,從而保證後面所有的case標籤都在變數的範圍外。

  • default標籤:一種特殊的case標籤,switch與所有case都無法匹配時,執行default標籤下的內容。

do while

do    statementwhile (condition);  //注意分號
  • 不允許在迴圈條件內定義變數。

  • 且條件部分的變數必須定義在迴圈體外。

跳躍陳述式

  • break

    負責終止離它最近的 while、do while、 for 或 switch 語句,並從這些語句之後的第一條語句開始執行。

  • continue

    for、while、do while

try語句塊和異常處理

  • 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++:運算式概念-運算子的應用

第六章C++:函數基礎與應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.