()
| 185 | func (e *safeError) Unwrap() error { return e.err } |
| 186 | |
| 187 | func (e *safeError) StackTrace() []runtime.Frame { |
| 188 | if len(e.callers) == 0 { |
| 189 | return nil |
| 190 | } |
| 191 | frameIter := runtime.CallersFrames(e.callers) |
| 192 | frames := make([]runtime.Frame, 0, len(e.callers)) |
| 193 | for { |
| 194 | frame, more := frameIter.Next() |
| 195 | frames = append(frames, frame) |
| 196 | if !more { |
| 197 | break |
| 198 | } |
| 199 | } |
| 200 | return frames |
| 201 | } |
| 202 | |
| 203 | func (e *safeError) Format(f fmt.State, verb rune) { |
| 204 | switch verb { |