我想引发一个异常,它是用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不会做这样的事情。它具有panic
和recover
,有点像异常,但它们仅在真正特殊的情况下使用。找不到文件或类似文件根本不是例外情况,而是非常正常的情况。例外情况是诸如取消引用nil
指针或除以零之类的事情。
- 1 回答
- 0 关注
- 220 浏览
添加回答
举报
0/150
提交
取消