错误处理机制
2022/3/3 6:16:20
本文主要是介绍错误处理机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、Go中引入的处理方式为:defer,panic,recover
Go中可以抛出一个panic异常,然后在defer中通过recover捕获这个异常。然后正常处理
func test() { defer func() { if err := recover(); err != nil { // recover()内置函数,可以捕获异常 fmt.Println("err=", err) } }() num1 := 10 num2 := 0 res := num1 / num2 fmt.Println("res=", res) } func main() { test() fmt.Println("main下面的代码") }
输出:
err= runtime error: integer divide by zero main下面的代码
2、自定义错误
使用errors.New和panic内置函数
errors.New("错误说明"),会返回一个error值,使用error类型的值,表示一个错误
panic内置函数,接收一个interface{}类型的值(也就是任意值)作为函数,可以接收error类型的变量,输出错误信息,并退出程序
func test(code string) (err error) { if code != "200" { err = errors.New("接口调用失败") } return } func main() { err := test("100") if err != nil { // 如果接口调用失败,就会输出这个错误,并终止程序 panic(err) } fmt.Println("main下面的代码") }
这篇关于错误处理机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?