教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang中的异常如何捕获?

golang中的异常如何捕获?

发布时间:2023-03-04   编辑:jiaochengji.com
教程集为您提供golang中的异常如何捕获?等资源,欢迎您收藏本站,我们将为您提供最新的golang中的异常如何捕获?资源

1.java中有try。。。catch 捕获异常并handle,golang中是什么机制?

主要有三个概念:defer 使用recover前提声明 recover捕获异常  panic异常

/**
捕获异常
**/

func DeferFunc(o *beego.Controller) {
	if e := recover(); e != nil {
		logs.Error(" 错误 %s\r\n", e)
		Return(o, nil, e)
	}
}

  

/**
抛出异常
**/

func (it *EvtAccidentController) Add() {
	DeferFunc(&it.Controller)
	accident := new(model.EvtAccident)
	data := it.Ctx.Input.RequestBody
	if data != nil {
		if err := json.Unmarshal(data, &accident); err != nil {
			panic(err)
		}
		validations := accident.Validation(nil)
		if validations != nil {
			Return(&it.Controller, validations, errors.New("验证没通过"))
		} else {
			i, e := evtAccidentService.EvtAccidentInsert(accident)
			Return(&it.Controller, i, e)
		}
	} else {
		panic(errors.New("json数据不存在"))
	}
}

  

转载于:https://www.cnblogs.com/jiyang2018/p/11243850.html

到此这篇关于“golang中的异常如何捕获?”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang中的异常如何捕获?
关于panic、defer、recover的异常捕获
php异常捕获try catch实例解析
java 7中捕获多个异常示例分析
Golang panic 异常捕获
recover 没有捕获异常_GO语言异常处理机制panic和recover分析
python如何处理捕获的异常
python如何判断网页元素是否存在
Golang面试题总结
Python traceback模块:获取异常信息

[关闭]
~ ~