package main import ( "fmt" )
##通过struct来构建自定义异常,只要实现 Error方法就实现了系统error接口, type Err struct { line string code string err string } func (e *Err)Error() string { return fmt.Sprintf("error line %s error %s error code %s",e.line,e.err,e.code) } func New(L,C,E string) *Err { return &Err{ code: C,err: E,line: L, } }
调用
package main
import "fmt"
func main() {
fmt.Println("test")
err := TestErr()
if err !=nil{
fmt.Println(err)
self,_ :=err.(*Err)
fmt.Println(self.err)
fmt.Println(self.line)
fmt.Println(self.code)
}
}
func TestErr() error {
s := New("100","test","404")
return s
}