golang-错误处理

golang 错误处理

error接口

error的定义

1
2
3
type error interface {
Error() string
}

大多数情况下,error会作为函数的最后一个返回值

  • 自定义一个错误
1
2
3
4
5
6
7
8
9
type PathError struct {
Op string
Path string
Err error
}
func (e *PathError) Error() string {
return e.Op + " " + e.Path + ":" + e.Err.Error()
}

defer

defer关键字后面的函数,能够在函数return之前条用。

用途:

​ 可以用来处理打开的文件描述符等。

panic() 函数和recover() 函数

用来报告和处理运行时错误和程序中的错误

1
2
func panic(interface())
func recover() interface()
坚持技术分享,您的支持将鼓励我继续创作!