Jestem nowy, aby przejść i znalezienie obsługi błędów jest bardzo szczegółowe. Czytałem rozumowanie i większość się z tym zgadzam, ale jest kilka miejsc, w których wydaje się, że jest więcej kodów do obsługi błędów niż faktyczne wykonanie pracy. Oto (wymyślony) przykład, w którym potokuję "Witaj, świecie!" do kota i odczytać i wydrukować wynik. Zasadniczo każda linia ma jeszcze trzy, aby poradzić sobie z błędem, a ja tak naprawdę nie radzę sobie z niczym.Obsługa wielu błędów w go
package main
import "fmt"
import "io"
import "io/ioutil"
import "os/exec"
func main() {
cmd := exec.Command("cat", "-")
stdin, err := cmd.StdinPipe()
if err != nil {
return
}
stdout, err := cmd.StdoutPipe()
if err != nil {
return
}
err = cmd.Start()
if err != nil {
return
}
_, err = io.WriteString(stdin, "Hello world!")
if err != nil {
return
}
err = stdin.Close();
if err != nil {
return
}
output, err := ioutil.ReadAll(stdout)
if err != nil {
return
}
fmt.Println(string(output))
return
}
Czy istnieje idiomatyczny, czysty sposób radzenia sobie z tym? Po prostu czuję, że czegoś brakuje.
http://stackoverflow.com/questions/15397419/go-handling-multiple-errors-elegantly?rq=1 –