나는 매우 새로운 오류 처리 기능을 제공합니다. 나는 그것에 대한 추론을 읽고 거의 동의하지만 실제로 작업을 수행하는 것보다 오류를 처리 할 코드가 더 많이있는 곳이 몇 군데 있습니다. 다음은 (고안된) 예제입니다. 여기서 "Hello world!" 고양이에 넣고 출력을 읽고 출력하십시오. 기본적으로 모든 행에는 오류를 처리 할 수있는 세 가지가 더 있으며 실제로 아무 것도 처리하지 않습니다.여러 오류를 처리하는 중
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
}
이 문제를 해결하는 관용의 깨끗한 방법이 있습니까? 나는 뭔가를 놓치고있는 것 같아.
http://stackoverflow.com/questions/15397419/go-handling-multiple-errors-elegantly?rq=1 –