发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,合理就返回nil,不合理就返回Error的草错误。  


下面说说Golang的自定义错误的用法。在go里定义错误异常的方式有这么两种,但都需要你的返回值是error类型的。

第一种方式是使用golang标准库包errors 来定义错误。使用方法很是简单,只需要 return errors.New(“string”)  。 这样就是一个最简单的错误返回。 


第二种方式是借用struct结构体,创建一个struct的Error()方法,注意这个方法名是Error,不然会出现下面的Bug, 找不到Error方法。



下面是一个比较完整的Error的使用方法。不仅有errors,还有struct Error()方式. 

上面这段golang errors代码执行后的结果是: