首页 > 其他 > 详细

go-异常处理

时间:2020-06-13 11:06:07      阅读:37      评论:0      收藏:0      [点我收藏+]
package main

import "fmt"

// go 语言中的异常处理机制(panic、recovery)
// panic: 产生异常,
func GO()  {
	fmt.Println("调用go函数,没发生异常,继续往下执行")
}
func Java()  {
	// 如果只是做了panic捕获,程序在执行到panic上就不会再往下执行了
	// 现在添加recovery 来处理
	defer func() {
		err := recover()
		if nil != err{
			fmt.Printf("捕获到panic产生的异常 err: %v \n", err)
			// recovery捕获到异常后,直接跳出这个方法,在主函数中继续往下执行
			fmt.Println("我是defer里的匿名函数,我捕获到panic的异常了,我要recover,恢复过来了。")

		}


	}()
	panic("Java方法,抛出了一个异常")
	fmt.Println("调用Java方法,发生异常panic后的执行情况")

}

func Py()  {
	fmt.Println("调用python函数,没发生异常,继续往下执行")

}

func main()  {
	GO()
	Java()
	fmt.Printf("panic后的劫后重生")
	Py()
}

go-异常处理

原文:https://www.cnblogs.com/KevinStark/p/13112037.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!