序
本文主要研究一下golang的error包装
error
1 | go复制代码type error interface { |
error接口定义了Error方法,返回string
runtime.Error
1 | go复制代码package runtime |
对于panic,产生的则是runtime.Error,该接口内嵌了error接口
wrap
1 | go复制代码package main |
使用内置的errors,则没办法打印堆栈;使用pkg/errors可以携带堆栈
输出
1 | go复制代码test error stack |
小结
- error接口定义了Error方法,返回string;对于panic,产生的则是runtime.Error,该接口内嵌了error接口
- 使用内置的errors,则没办法打印堆栈;使用pkg/errors可以携带堆栈
doc
本文转载自: 掘金