Golang模仿try & catch
发布时间:2022-02-14 编辑:jiaochengji.com
教程集为您提供Golang模仿try & catch等资源,欢迎您收藏本站,我们将为您提供最新的Golang模仿try & catch资源
<pre><code class="lang-go">package main
import (
"fmt"
)
type tryFunc func()
type catchFunc func(interface{})
// 建立一個模仿 try&catch 的函式供稍後使用
func Try(try tryFunc, catch catchFunc) {
// 這不會馬上被執行,但當 panic 被執行就會結束程式,結束程式就必定會呼叫 defer
defer func() {
// 透過 recover 來從 panic 狀態中恢復,並呼叫捕捉函式
if err := recover(); err != nil {
catch(err)
}
}()
// 執行可能帶有 panic 的程式
try()
}
func main() {
Try(func() {
panic("1") //报错之后不会下一步
panic("2")
}, func(a interface{}) {
fmt.Println(a)
})
}
</code></pre>
到此这篇关于“Golang模仿try & catch”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
Golang模仿try & catch
Golang开发语言的效率
php ajax实现google搜索功能一[原创]
用单例模式实现的java连接MySql数据库
Go 语言进阶教程
js 可增加删除图片上传框js代码
Golang-特点
javascript 代码简洁的仿淘宝悬浮工具栏
golang中的defer panic recover
PHP5 的异常处理、错误的抛出及回调函数等
上一篇:Go开篇
下一篇:go语言中控制并发数量的方法
[关闭]