异常
error
Go语言内置了一个简单的错误接口作为一种错误处理机制,接口定义如下:
type error interface {
Error() string
}
它包含一个 Error() 方法,返回值为string
Go的error构造有两种方式,分别是
第一种:errors.New()
err := errors.New(“This is an error”)
if err != nil {
fmt.Print(err)
}
第二种:fmt.Errorf()
err := fmt.Errorf(“This is an error”)
if err != nil {
fmt.Print(err)
}
Go语言的error代表的并不是真“异常”,只是通过返回error来表示错误信息,换句话说,不是运行时错误范围预定义的错误,某种不符合期望的行为并不会导致程序无法运行(自然数函数例子),都应使用error进行异常处理。当程序出现重大错误,如数组越界,才会将其当成真正的异常,并用panic来处理。可以用recover恢复。
自己实现的如下