概念簡介
`panic` 意味著有些出乎意料的錯誤發生。通常我們用它
來表示程序正常運行中不應該出現的,或者我們沒有處理
好的錯誤。
例程代碼
package main
import "os"
func main() {
// 我們將在這個網站中使用 panic 來檢查預期外的錯誤。這個
// 是唯一一個為 panic 準備的例子。
panic("a problem")
// panic 的一個基本用法就是在一個函數返回了錯誤值但是我們並不知道(或
// 者不想)處理時終止運行。這裏是一個在創建一個新文件時返回異常錯誤時的
// `panic` 用法。
_, err := os.Create("/tmp/file")
if err != nil {
panic(err)
}
}
執行&輸出
# 運行程序將會引起 panic,輸出一個錯誤消息和 Go 運行時
# 棧信息,並且返回一個非零的狀態碼。
$ go run panic.go
panic: a problem
goroutine 1 [running]:
main.main()
/.../panic.go:12 +0x47
...
exit status 2
# 注意,不像在有些語言中使用異常處理錯誤,在 Go 中則習慣通過
# 返回值來標示錯誤。
課程導航
學習上一篇:Go語言教程:使用函數自定義排序 學習下一篇:Go語言教程:Defer
相關資料
本例程github源代碼:https://github.com/xg-wang/gobyexample/tree/master/examples/panic