Go语言的错误处理机制:defer+recover
Go语言中没有使用java中的try catch机制,他们可能觉得java的异常处理比较繁琐。
Go语言的异常处理机制相对简洁和优雅,使用defer+recover的机制来处理异常。
defer 后的语句先不执行,先压到栈里,然后再后进先出的顺序执行;
recover 是Go语言的内置函数,可以捕获Go语言执行中抛出的异常信息。
参考代码:
package main
import "fmt"
func main() {
test()
fmt.Println("===1===除法操作执行成功")
fmt.Println("===2===继续执行后面的逻辑")
}
func test(){
// defer后面加上匿名函数的调用
defer func(){
err := recover()
// 如果没有捕获到异常,返回值为空:nil
if err !=nil {
fmt.Println("异常信息已经捕获")
fmt.Println("错误信息为:", err)
}
}()
num1 := 10
num2 := 0
result := num1 / num2
fmt.Println(result)
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2018-05-11 Spring cloud开发的微服务部署到Linux上内存过高的问题