前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go+异常处理

Go+异常处理

作者头像
上分如喝水
发布2021-12-13 08:36:50
2000
发布2021-12-13 08:36:50
举报
文章被收录于专栏:XiaoLin笔记

错误处理

    程序中错误处理机制是一套很重要的机制,程序运行过程当中不可能不会出错的,我们在出错的情况下不可能直接把错误展示给用户看,而是需要对错误进行包装,只展示包装后的错误语句,于是程序员在日常开发阶段需要做的一件很重要的事情就是将错误信息进行包装,而这个包装就是错误处理机制。

代码示范

strconv

strconv包主要是实现对字符串对基本数据类型之间的转换,我们在日常开发阶段常常需要用到将字符串转为基本数据类型的操作。他有一个常见的方法Atoi (string),他的作用是将字符串转为数字,他的底层方法是使用ParseInt(stirng)来实现的。

错误处理

代码语言:javascript
复制
import (
	"strconv"
) // 导入strconv包
func multiplication(x, y string) (int, error) {
	return strconv.Atoi(x)? * strconv.Atoi(y)?, nil
} // 写一个方法,用于字符串转int并进行相乘
sum, err := multiplication("18", "admin") // 调用并拿到返回值
println `multiplication("10", "abc"):`, sum, err // multiplication("10", "admin"): 0 strconv.Atoi: parsing "admin": invalid syntax

    我们可以看到他报错了,报错信息是multiplication("10", "admin"): 0 strconv.Atoi: parsing "admin": invalid syntax,可以得出在解析admin的时候,无法将admin字符串转为数字,这就是他报错的原因。在拿到错误后,我们就可以进行错误的异常处理,由全局异常处理去捕获异常再将异常以人性化一点的方式展示给前台。

对比Go

    对比Go的异常处理机制,我们会发现,Go-Plus更灵活,其次是打印的堆栈信息更多,我们可以根据堆栈信息快速定位到错误。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 错误处理
  • 代码示范
    • strconv
      • 错误处理
        • 对比Go
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档