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