为什么在每次包装时都要调用 callers() 函数?
作者: cep21创建于 2016年7月27日更新于 2020年1月16日
每次包装错误时,都会调用 callers()。在我看来,这似乎是一种浪费。我认为根错误的堆栈跟踪是最重要的,也是我几乎总是想要的内容。我认为,如果被包装的错误实现了 `stackTrace 接口`,则应使用该错误的堆栈跟踪,而可以跳过对 callers() 的调用。当然,错误堆栈的顶部和底部之间的任何堆栈跟踪都将被忽略。我认为我的最佳格式消息应该包括各个错误包装中包装的消息,并在底部附加一个堆栈跟踪。
内容来源: pkg/errors