go实现异常捕捉

相信大家在使用go语言开发的,遇到很多不熟悉或者是很多难得点吧,其中针对go语言的异常捕获,和其他的语言不一样,使用起来相信大家也不知道怎么使用,接下来会写一个小例子,希望大家从小例子中掌握异常捕获

go 复制代码
func TestGoCountDown(t *testing.T) {
	fmt.Println("start")
	worker()
	fmt.Println("end")

}

func worker() {
	//	在这里进行一个异常的捕获,后面的异常会在这里捕获到,并不会影响 end的输出
	defer func() {
		if e := recover(); e != nil {
			fmt.Printf("Panicing %s\r\n", e)
		}
	}()
	badCall()
	fmt.Println("After bad call")
}

func badCall() {
	panic("bad call")
}
相关推荐
Asthenia04122 分钟前
StringBuilder 和 StringBuffer 的区别:源码分析与面试准备
后端
Supersist2 分钟前
【我要找工作_01】当我在学习Redis时,我到底在学习个啥?
redis·后端
陈震_6 分钟前
在 Java 中调用 ChatGPT API 并实现流式接收(Server-Sent Events, SSE)
java·开发语言·chatgpt·sse·流式
uhakadotcom23 分钟前
Kubernetes Ingress 入门指南:简化集群服务访问
后端·面试·github
Anarkh_Lee25 分钟前
图解JVM - 24.使用OQL语言查询对象信息
java·jvm·后端
sunbin25 分钟前
Eclipse 数据空间组件-实现简单的“Consumer Pull”Http传输流程-5
后端
牛肉汤26 分钟前
Java线程池如何保证线程安全?
后端
Anarkh_Lee26 分钟前
图解JVM - 19.JVM监控及诊断工具-命令行篇
java·jvm·后端
玄明Hanko28 分钟前
记一次生产流量事故
运维·后端·安全
uhakadotcom30 分钟前
Apache SkyWalking:分布式系统的性能监控利器
后端·面试·github