拦截 Go 中的错误和恐慌



我正在创建一个 CLI 只是为了更多地了解 Go。是否可以拦截所有错误和恐慌,所以我可以有一个独特的地方来处理它们,还可以格式化它并在打印后打印到 stdout。

例:

而不是使用:

x, err := doSomething()
if err != nil {
errorHandler.Handler(err)
}

我可以在执行任何操作之前初始化可以拦截所有错误的代码:

errorHandler.New()

然后我可以"忽略"所有错误:

x, _ := doSomething()

这是 Go 的不良做法吗?

错误只是 go 中的值。就像函数返回字符串时无法拦截一样,也无法拦截错误。

最新更新