Go 初體驗 - 錯誤與異常處理 - recover和panic

先看代碼:函數

輸出:code

內建函數panic可讓咱們人爲地產生一個運行時恐慌。不過,這種致命錯誤是能夠被恢復的。在Go語言中,內建函數recover就能夠作到這一點。blog

實際上,內建函數panicrecover是天生的一對。前者用於產生運行時恐慌,然後者用於「恢復」它。不過要注意,recover函數必需要在defer語句中調用纔有效。class

由於一旦有運行時恐慌發生,當前函數以及在調用棧上的全部代碼都是失去對流程的控制權。只有defer語句攜帶的函數中的代碼纔可能在運行時恐慌迅速向調用棧上層蔓延時「攔截到」它。im

C#和Java有 try catch,而Go沒有,這種機制在Go語言裏就是panic和recover的方式。db

相關文章
相關標籤/搜索