package errors import ( "fmt" "runtime" ) func MakeWithErr(code CodeType, err error) error { pc, fn, line, _ := runtime.Caller(1) cause := fmt.Sprintf("[error] in %s[%s:%d] %v", runtime.FuncForPC(pc).Name(), fn, line, err.Error()) return New(code, err.Error(), cause) } func MakeWithMsg(code CodeType, msg string) error { pc, fn, line, _ := runtime.Caller(1) cause := fmt.Sprintf("[error] in %s[%s:%d] %v", runtime.FuncForPC(pc).Name(), fn, line, msg) return New(code, msg, cause) } func MakeWithTips(code CodeType, tips string) error { pc, fn, line, _ := runtime.Caller(1) cause := fmt.Sprintf("[error] in %s[%s:%d] %v", runtime.FuncForPC(pc).Name(), fn, line, tips) return NewTips(code, tips, cause) }