GO语言异常处理机制panic和recover分析
来源:互联网 发布:清空数据库的sql语句 编辑:程序博客网 时间:2024/05/10 10:53
package main
import (
"log"
"strconv"
)
//捕获因未知输入导致的程序异常
func catch(nums ...int) int {
defer func() {
if r := recover(); r != nil {
log.Println("[E]", r)
}
}()
return nums[1] * nums[2] * nums[3] //index out of range
}
//主动抛出 panic,不推荐使用,可能会导致性能问题
func toFloat64(num string) (float64, error) {
defer func() {
if r := recover(); r != nil {
log.Println("[W]", r)
}
}()
if num == "" {
panic("param is null") //主动抛出 panic
}
return strconv.ParseFloat(num, 10)
}
func main() {
catch(2, 8)
toFloat64("")
}
0 0
- GO语言异常处理机制panic和recover分析
- GO语言异常处理机制panic和recover分析
- 【Go学习】GO语言异常处理机制panic和recover分析
- 谈一谈Go的异常处理机制——panic和recover的使用和原理
- go语言中的defer、panic、recover处理异常
- go语言中的defer、panic、recover处理异常
- Go语言中使用panic和recover简化错误处理
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go panic, defer, recover 的异常处理
- Go的异常处理 defer, panic, recover
- Go语言panic和recover使用
- Go的异常处理 defer, panic, recover<转载>
- Go的异常处理 defer, panic, recover<转载>
- Go的异常处理 defer, panic, recover<转载>
- Go的异常处理 defer, panic, recover<转载>
- 性能测试——造数
- libpcap1.7.4在Ubuntu_14.04_LTS上的使用
- select from table where 1=1
- 从零开始写光栅化渲染器0:创建windows窗口
- hdu 1754 线段树区间最值加更新
- GO语言异常处理机制panic和recover分析
- ClangFormat语法1.0
- ajax无刷新上传
- JVM调优总结
- 安卓手机蓝牙遥控重力感应遥控车
- iOS webView加载网页失败,浏览器成功的原因,以及读取cookie
- 安卓应用实时显示MJGP-streamer所抓取的摄像头信息
- 异常解决:A master URL must be set in your configuration
- C# II: Class ViewModelBase and RelayCommand in MVVM