go语言中错误分为error和panic
error
1.错误变量
var ErrorTimeout = errors.New("The request timed out")
2.自定义错误类型
type ParseError struct {
Message string
line, char int
}
3.错误类型返回
func test(input string) (string, error)
panic
异常处理
1.painc()异常抛出
2.recover() 异常捕获,捕获祖父级别函数栈帧的异常
3.异常按照错误处理panic(error.New("error: ..... "))
1.gorontine 中异常的处理
对于goroutine的处理
error如果在新开辟的goroutine中可能产生错误,定一个自定义类型,将结果和错误一块封装返回到付goroutine中处理
panic如果在新开辟的goroutine中可能产生painc,需要在自己的goroutine中进行处理。
网友评论