- 在Go中不支持传统的try…catch…finally这种处理,在Go中引入了defer、panic、recover处理方式,通过抛出一个panic异常,然后在defer中通过recover捕获这个异常,最后正常处理。
- Go程序中,也支持自定义异常处理,使用errors.New和panic内置函数。其中:
errors.New(“错误说明”),返回一个error类型的值,表示一个错误
panic内置函数,接受一个interface类型的值(任何值)作为参数。可以接收error类型的变量,输出错误信息,并退出程序
package main
import (
"errors"
"fmt"
)
func main() {
defer func() {
fmt.Println("捕获异常", recover()) // recover() 内置函数,可以捕获到异常
return
}()
pa()
in, err := sum2()
if err != nil {
fmt.Println(err)
} else {
fmt.Println(in)
}
}
func sum2() (int, error) {
return 9, errors.New("这是自定义描述的异常")
}
func pa() {
panic("这是异常")
}
文章来源地址https://www.toymoban.com/news/detail-833273.html
文章来源:https://www.toymoban.com/news/detail-833273.html
到了这里,关于Go的异常处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!