我正在创建一个 CLI,只是为了更多地了解 Go。是否有可能拦截所有错误和 panic ,这样我就可以有一个独特的地方来处理它们,并对其进行格式化,然后打印到标准输出。
例子:
而不是使用:
x, err := doSomething()
if err != nil {
errorHandler.Handler(err)
}
我可以在做任何事情之前使用初始化可以拦截所有错误的代码:
errorHandler.New()
然后我可以“忽略”所有错误:
x, _ := doSomething()
这对 Go 来说是一种不好的做法吗?
最佳答案
错误只是 go 中的值。就像函数返回字符串时无法拦截一样,错误也无法拦截。
关于go - 拦截 Go 中的错误和 panic ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52397049/