首页> 基础笔记 >GoLang基础学习 >函数 函数

Golang错误处理介绍和使用方式

作者:小萝卜 2023-04-06 浏览 204

简介1) Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally这种处理。2) Go中引入的处理方式为:defer, panic, recover3)这几个异常的使用场景可以这么简单描述: Go中可以抛出一个 panic的异常,然后在 defer中 通过 recover捕获这个异常,然后正常处理

错误处理

看一段代码,因此错误处理

func test() {
	num1 := 10
	num2 := 0
	res := num1 / num2
	fmt.Println("res=", res)
}

func main() {

	//测试
	test()
	fmt.Println("main()下面的代码...")
}

对上面代码的总结

1)在默认情况下,当发生错误后(panic)  ,程序就会退出(崩溃.)

2)如果我们希望:当发生错误后,可以捕获到错误,并进行处理,保证程序可以继续执行。还可以在捕获到错误后,给管理员一个提示(邮件,短信。。。)

3)这里引出我们要将的错误处理机制

基本说明

1)  Go语言追求简洁优雅,所以,Go语言不支持传统的   try…catch…finally这种处理。

2)  Go中引入的处理方式为:defer, panic,  recover

3)这几个异常的使用场景可以这么简单描述:  Go中可以抛出一个  panic的异常,然后在  defer中通过 recover捕获这个异常,然后正常处理

使用   defer+recover来处理错误

func test() {
	//使用defer + recover 来捕获和处理异常
	defer func() {
		err := recover()  // recover()内置函数,可以捕获到异常
		if err != nil {  // 说明捕获到错误
			fmt.Println("err=", err)
			//这里就可以将错误信息发送给管理员....
			fmt.Println("发送邮件给admin@sohu.com~")
		}
	}()
	num1 := 10
	num2 := 0
	res := num1 / num2
	fmt.Println("res=", res)
}
 

错误处理的好处

进行错误处理后,程序不会轻易挂掉,如果加入预警代码,就可以让程序更加的健壮。看一个

 

 

很赞哦! (0)

文章评论

    高端网站建设