<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一.異常處理 1. **異常** 運行時的反常行為。 2. **異常處理** 對運行時出現的差錯以及其他例外情況的處理。 3. **包含的內容** + `throw` 表達式,用于引發一個異常。 + `try` 語句塊,用于檢查語句。 + `catch` 子句,用于捕獲和處理異常。 + [可選]異常類,用于傳遞異常的具體信息。如數組類越界訪問時,訪問的下標,以及下標訪問的上下限。 ## 二.throw表達式 1. 格式 `throw 表達式;` 其中,表達式的類型就是拋出的異常類型。 2. 在函數聲明和定義中用 `throw` 指定要拋出的異常類型。若沒有 `throw` 表達式,則函數可以拋出任意類型的異常。 >[warning]若需使用,則函數定義和聲明都必須出現。 ```c++ throw () //[11!][20-]不拋出任何異常,若函數中出現throw語句,程序將終止運行 throw (類型名,類型名,...) //[11!][17-]拋出指定類型的異常 ``` ```c++ int at(int index) throw(OutOfRange); //限制拋出錯誤為OutOfRange template <typename T> T my_abs(T num) throw();//不拋出任何異常 ``` ## 三.try語句塊 1. 格式 ```c++ try { /*要檢查的語句*/ } catch (異常類型 標識符) { /*異常處理語句*/ } /*更多的 catch 子句,末尾沒有分號*/ ``` 2. 檢查的語句內若拋出異常,則直接跳轉到 `catch` 子句,而出錯語句后面的語句不再執行。 3. 若出現異常且沒有被捕獲,則程序會終止運行。 ## \[11+\][$]四.noexcept 1. `noexcept` 修飾符 + 用于表示函數在什么時候不拋出異常。 + 它不是函數聲明的一部分。 ```c++ noexcept //不拋出任何異常,若程序運行期間拋出異常,程序會終止。 noexcept (常量表達式) //若常量表達式為true,則聲明函數不拋出異常 ``` ```c++ int at(int index) noexcept(false); //可能會拋出異常 template <typename T> T my_abs(T num) noexcept;//不拋出任何異常 ``` 2. `noexcept` 運算符 + **目數** 單目 + **返回值** bool類型的右值常量表達式 + **功能** 表示給定的表達式是否會拋出異常。和 `sizeof` 類似,它不會求運算對象的值。 ```c++ noexcept(my_abs(i));//true,不拋出任何異常 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看