<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 概述 運行時panic異常一旦被引發就會導致程序崩潰.這當然不是我們愿意看到的,因為誰也不能保證程序不 會發生任何運行時錯誤. 不過go語言為我們提供了專用于"攔截"運行時panic的內建函數--recover. 它可以是當前的程序從運行時 panic的狀態中恢復并重新獲得流程控制權 . ~~~ func recover () interface{} ~~~ ## 注意 : recover只有在defer調用的函數中有效 如果調用了內置函數recover,并且定義該defer語句的函數發生了panic異常,recover會使程序從panic中恢 復,并返回panic value.導致panic異常的函數不會繼續運行,但能正常返回.在未發生panic時調用recover, recover會返回nil . 還有就是該defer 必須寫在panic 發生時的上方,如果是下方,就執行不到了. ### 實例 ~~~ func test1() { fmt.Println("111") } func test2(x int) { //設置recover defer func() { if err := recover(); err != nil { fmt.Println(err) //有異常才會打印,沒有異常就不打印了 } }() var a [10]int a[x] = 100 // defer func() { 放在這里是執行不到的,因為都panic了 // if err := recover(); err != nil { // fmt.Println(err) // } // }() } func test3() { fmt.Println("333") } func main() { test1() test2(20) test3() } ~~~ ~~~ 111 runtime error: index out of range 333 ~~~
                  <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>

                              哎呀哎呀视频在线观看