我想引發一個異常,它是用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 關注
- 251 瀏覽
添加回答
舉報
0/150
提交
取消