错误处理

错误和异常不同,错误是在程序中正常存在的,可以预知的失败在意料之中。而异常通常指在不应该出现问题的地方出现问题,比如空指针,这在人们的意料之外。go语言没有try......catch这样的方式来捕获异常所以Go定义属于自己的一种错误类型,用error表示错误。

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("错误信息")
    fmt.Println(err) // 输出:错误信息

    num, err2 := Calc(0)
    fmt.Println(num, err2) // 输出:0 除数不能为0
}

// 通过内置errors包创建错误对象来返回
func Calc(divisor int) (int, error) {
    if divisor == 0 {
        return 0, errors.New("除数不能为0")
    }
    return 100 / divisor, nil
}

Last modification:November 18, 2022
If you think my article is useful to you, please feel free to appreciate