3
我想提出一個異常,因爲它是在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)
}
這取決於應用程序的級別。對於快速和骯髒的腳本,原型等,它可能是一個不可恢復的錯誤;不是因爲它不能完成,而是因爲寫這三行是不值得的。 – 2010-05-12 14:11:40
夠公平的。只是不要在發佈的軟件包或應用程序中做這種事情,並期望我使用它。 :) – 2010-05-12 14:18:07