Golang基础:使用Panic

4年以前  |  阅读数:137 次  |  编程语言:Golang 

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 中则习惯通过返回值来标示错误。

 相关文章:
Golang语法基础:可变参数
Golang使用定时器
Golang语法基础:在结构体类型中定义方法
使用errors传递错误信息
Golang使用`math/rand`包生成伪随机数
从字符串中解析数字
使用printf格式化字符串
Golang语法基础:使用map
使用匿名函数
使用`strings`包处理字符串
定义与使用常量
Golang使用正则表达式
Golang处理时间的格式化及其与字符串之间的转换
使用`sort`包排序
Golang语法基础:利用自动推导定义变量
定义与使用函数
Golang语法基础,使用不同类型的数据
Golang语法基础,使用if
Golang语法基础:使用协程
Golang语法基础:内建多返回值支持