Go 语言通过内置的错误接口提供了非常简单的错误处理机制。
error类型是一个接口类型,这是它的定义:
type error interface {
Error() string
}
我们可以在编码中通过实现 error 接口类型来生成错误信息。
函数通常在最后的返回值中返回错误信息。使用errors.New 可返回一个错误信息。
package main
import (
"fmt"
"strings"
)
type stringError struct {
strErr string
}
func (strEr *stringError) Error() string {
return strEr.strErr + " is not _"
}
func isblank(s string) (string, string) {
if strings.Compare(s, "_") != 0 {
ss := stringError{s}
return "wrong!", ss.Error()
}
return "Yes!", s + " is _"
}
func divide(i,j int)(rs int,string){
if j == 0{
return
}
}
//errors.New()
func divide(i, j int) (int, error) {
if j == 0 {
return j, errors.New("can not be 0")
}
return i / j, nil
}
func main(){
fmt.Println(isblank("sss"))
rs, err := divide(4, 0)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(rs)
}
}