golang 自定义error

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
}

 
原文地址:https://www.cnblogs.com/Nolover/p/12963502.html