为了账号安全,请及时绑定邮箱和手机立即绑定

引发异常.

引发异常.

Go
森栏 2021-04-07 13:08:14
我想引发一个异常,它是用Python或Java制作的,以用错误消息完成该程序。错误消息可能返回给父函数:func readFile(filename string) (content string, err os.Error) {    content, err := ioutil.ReadFile(filename)    if err != nil {        return "", os.ErrorString("read " + filename + ": " + err)    }    return string(content), nil}但是我希望发现错误后可以完成它。下一个会正确吗?func readFile(filename string) (content string) {    content, err := ioutil.ReadFile(filename)    defer func() {        if err != nil {            panic(err)        }    }()    return string(content)}
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

按照惯例,Go不会做这样的事情。它具有panicrecover,有点像异常,但它们仅在真正特殊的情况下使用。找不到文件或类似文件根本不是例外情况,而是非常正常的情况。例外情况是诸如取消引用nil指针或除以零之类的事情。


查看完整回答
反对 回复 2021-04-26
  • 1 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信