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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## Panic 和 Recover 本節將向你介紹上一章中首先提到的技巧。該技術涉及`panic()`和`recover()`函數的使用,將在`panicRecover.go`中進行介紹,同樣分為三部分。 第一段代碼: ```Go package main import ( "fmt" ) func a() { fmt.Println("Inside a()") defer func() { if c := recover(); c != nil { fmt.Println("Recover inside a()!") } }() fmt.Println("About to call b()") b() fmt.Println("b() exited!") fmt.Println("Exiting a()") } ``` 除了`import`,此部分還包括`a()`函數的實現。函數`a()`的最重要部分是延遲代碼塊,該代碼塊實現了一個匿名函數,當調用`panic()`時將調用該匿名函數。 第二段代碼: ```Go func b() { fmt.Println("Inside b()") panic("Panic in b()!") fmt.Println("Exiting b()") } ``` 最后一段代碼: ```Go func main() { a() fmt.Println("main() ended!") } ``` 執行`panicRecover.go`產生如下輸出: ```shell $ go run panicRecover.go Inside a() About to call b() Inside b() Recover inside a()! main() ended! ``` 這個輸出結果讓人有點驚訝。因為,從輸出中可以看到,`a()`函數沒有正常結束,它的最后兩個語句沒有得到執行: ```Go fmt.Println("b() exited!") fmt.Println("Exiting a()") ``` 不過,好在`panicRecover.go`程序會按我們的意愿結束而不會發生崩潰,因為在`defer`中使用的匿名函數控制了異常情況。還要注意,函數`b()`對函數`a()`一無所知;但是,函數 `a()`包含處理函數`b()`異常情況的 Go 代碼。
                  <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>

                              哎呀哎呀视频在线观看