Go案例说明defer panic recover
生活随笔
收集整理的這篇文章主要介紹了
Go案例说明defer panic recover
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
defer推遲? recover恢復? panic恐慌
通過一個案例解釋:發送郵件的 發送不成功要修改數據表的郵件發送狀態值??
發送郵件的內部sendEmail出現錯誤? 要去修改數據表的狀態值了?
發送郵件的內部sendEmail錯誤進行panic報警
defer最后執行? 執行defer里面的函數
使用recover進行捕獲了錯誤? 然后修改發送郵件狀態值為不成功 程序結束執行
這就是panic defer recover進行配合完成try catch throw的功能
defer一定放在有內部函數的前面
package mainimport "fmt"func sendEmail() {// 相當于php的throw 發送郵件有錯誤進行報警panicpanic(" error ") }func main() {// 相等于trydefer func() {// 相等于catch recover進行捕獲錯誤if r := recover(); r != nil {fmt.Printf("執行修改數據表狀態值的動作 END")}}()sendEmail()}?
總結
以上是生活随笔為你收集整理的Go案例说明defer panic recover的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果有哪些好吃的品种?有哪些选购技巧?
- 下一篇: 车损险包括玻璃吗