处理多个错误

处理多个错误,第1张

处理多个错误

显然,我们必须处理任何错误。我们不能仅仅忽略它们。

例如,为了使示例更不虚假,

package mainimport (    "fmt"    "io"    "io/ioutil"    "os"    "os/exec")func piping(input string) (string, error) {    cmd := exec.Command("cat", "-")    stdin, err := cmd.StdinPipe()    if err != nil {        return "", err    }    stdout, err := cmd.StdoutPipe()    if err != nil {        return "", err    }    err = cmd.Start()    if err != nil {        return "", err    }    _, err = io.WriteString(stdin, input)    if err != nil {        return "", err    }    err = stdin.Close()    if err != nil {        return "", err    }    all, err := ioutil.ReadAll(stdout)    output := string(all)    if err != nil {        return output, err    }    return output, nil}func main() {    in := "Hello world!"    fmt.Println(in)    out, err := piping(in)    if err != nil {        fmt.Println(err)        os.Exit(1)    }    fmt.Println(out)}

输出:

Hello world!Hello world!

错误处理和执行

在Go中,错误处理很重要。该语言的设计和约定鼓励您明确检查错误发生的位置(与其他语言中抛出异常并有时捕获它们的约定不同)。在某些情况下,这会使Go代码变得冗长。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5016012.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存