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")
}
相关推荐
LawrenceLan4 小时前
Flutter 零基础入门(十一):空安全(Null Safety)基础
开发语言·flutter·dart
yangminlei4 小时前
Spring Boot3集成LiteFlow!轻松实现业务流程编排
java·spring boot·后端
计算机毕设VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue医院设备管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
txinyu的博客4 小时前
解析业务层的key冲突问题
开发语言·c++·分布式
J_liaty4 小时前
Spring Boot整合Nacos:从入门到精通
java·spring boot·后端·nacos
码不停蹄Zzz4 小时前
C语言第1章
c语言·开发语言
面汤放盐5 小时前
后端系统设计文档模板
后端
行者965 小时前
Flutter跨平台开发在OpenHarmony上的评分组件实现与优化
开发语言·flutter·harmonyos·鸿蒙
阿蒙Amon5 小时前
C#每日面试题-Array和ArrayList的区别
java·开发语言·c#
SmartRadio5 小时前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble