golang定义错误的方式

htyu_0203_39 · · 3248 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
golang定义错误的方式:


(1) 同一Error类, 多个错误实例,只是错误内容不同,golang官方做法


直接定义在io package 中, 全局变量。
var EOF = errors.New("EOF")
var ErrClosedPipe = errors.New("io: read/write on closed pipe")
var ErrNoProgress = errors.New("multiple Read calls return no data or error")
var ErrShortBuffer = errors.New("short buffer")
var ErrShortWrite = errors.New("short write")
var ErrUnexpectedEOF = errors.New("unexpected EOF")

直接与上面定义的错误实例做相等判断即可知道出了什么错误,很显然。


(2) 如果是自己实现了Error接口, 可以加入ErrCode int 域,用不同的错误码形式判断错误类型


type MyError struct {


var ErrCode int
}


通常情况, 我们只要知道出错了就可以了, 但是有些时候,还要进一步知道具体出了什么错误,

以上两种方式都可以,第种为标准库中的用法。


注意: 此文章只是我个人笔记, 如有错漏,请一定指正, 共同学习, 我的邮箱: htyu_0203_39@sina.com




有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:htyu_0203_39

查看原文:golang定义错误的方式

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

3248 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传