type data struct {}
func (d data) bar() (string, error) {
return "", errors.New("err")
}
func foo() (data, error) {
return data{}, errors.New("err")
}
func do () (string, error) {
d, err := foo()
if err != nil {
return "", err
}
s, err := d.bar()
if err != nil {
return "", err
}
return s, nil
}
type data struct {}
func (d data) bar() string {
throw "", errors.New("err")
}
func foo() (d data) {
throw errors.New("err")
return
}
func do () (string, error) {
catch err {
return "", err
}
s := foo().bar()
return s, nil
}
set_error_handler();
set_exception_handler();
register_shutdown_function();
recovery.SafeGo(logger, func() {
method(all parameters)
})
func SafeGo(logger logging.ILogger, f func()) {
go func() {
defer func() {
if panicMessage := recover(); panicMessage != nil {
...
}
}()
f()
}()
}
END
未闻 Code·知识星球开放啦!
一对一答疑爬虫相关问题
职业生涯咨询
面试经验分享
每周直播分享
......
未闻 Code·知识星球期待与你相见~
一二线大厂在职员工
十多年码龄的编程老鸟
国内外高校在读学生
中小学刚刚入门的新人
在“未闻 Code技术交流群”等你来!
入群方式:添加微信“mekingname”,备注“粉丝群”(谢绝广告党,非诚勿扰!)