dongmeng2509 2014-07-06 01:59
浏览 26
已采纳

检查Go程序中未处理的错误的任何方法?

Consider the following:

package main

import (
    "errors"
    "fmt"
)

func foo() error {
    return errors.New("Danger!")
}

func main() {
    foo();
    fmt.Println("I don't have a care in the world!")
}

It would be nice if there was an easy way to see that possible errors from foo() are not being handled. Does Go have a built-in way to check programs/source files for errors that nothing has been done with?

  • 写回答

2条回答 默认 最新

  • donglu3087 2014-07-06 02:49
    关注

    Go does not have a built-in way to do that, but there's a third-party tool by Kamil Kisiel that does. Just go get github.com/kisielk/errcheck then run bin/errcheck your/import/path from your $GOPATH and it will spit out a list of calls with ignored errors. (I just tried it on a project and, hrm, perhaps I'm not as 100% reliable about it as I thought.)

    If you like it, you might also like go vet's checks, and the lint package used within Google for style checks.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?