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")
}
相关推荐
爱丽_1 分钟前
深入理解 Java Socket 编程与线程池:从阻塞 I/O 到高并发处理
java·开发语言
望道同学39 分钟前
PMP/信息系统项目管理师 9 张 思维导图【考试必备】
前端·后端·程序员
码事漫谈1 小时前
C++11到C++23语法糖万字详解
后端
码事漫谈1 小时前
别人的C#看着难受?可能是你不清楚这些语法糖
后端
多敲代码防脱发1 小时前
为何引入Spring-cloud以及远程调用(RestTemplate)
java·开发语言
plmm烟酒僧1 小时前
TensorRT 推理 YOLO Demo 分享 (Python)
开发语言·python·yolo·tensorrt·runtime·推理
sailing-data1 小时前
【SE】接口标准化
java·开发语言
+VX:Fegn08951 小时前
计算机毕业设计|基于springboot+vue的学校课程管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
无名3871 小时前
RTPEngine 官方自带的 perl 测试程序
开发语言·perl·通信
fruge1 小时前
接口 Mock 工具对比:Mock.js、Easy Mock、Apifox 的使用场景与配置
开发语言·javascript·ecmascript