一架梯子,一头程序猿,仰望星空!
Golang中级特性面试题 > 内容正文

Golang 有异常类型吗


问题简答

在 Go 没有异常类型,只有错误类型(Error),我们可以使用Error处理各种异常。

问题详解:

Go语言中主要有两类错误,一类是可预见的错误,不会导致程序退出,一类是不可预见的错误,会导致程序退出。

在go语言中error是不会导致程序退出、panic会导致程序退出。

例子:

package main

import (
    "errors"
    "fmt"
)

// 通常一个函数的错误信息,都会放在最后一个返回值
func Do() (int, error) {
    // 返回错误
    return 0, errors.New("错误信息!")
}

func main() {
    _, err := Do()
    // 判断错误
    if err != nil {
        fmt.Println(err)
    }
}

详情,请参考go语言错误处理.