Я хотел бы вызвать исключение, поскольку оно сделано в 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)
}