(t *Type, err error, message string, opts ...Option)
| 116 | } |
| 117 | |
| 118 | func newSingleCrdbError(t *Type, err error, message string, opts ...Option) Error { |
| 119 | cfg := &Options{} |
| 120 | for _, opt := range opts { |
| 121 | opt(cfg) |
| 122 | } |
| 123 | cfg.stackOffset += 1 |
| 124 | msg := &errMessage{} |
| 125 | if cast, ok := err.(*crdbErrorImpl); ok { |
| 126 | if t == Default { // inherit wrapped error's type |
| 127 | t = cast.GetType() |
| 128 | } |
| 129 | } |
| 130 | msg.addMessage(t, message) |
| 131 | return newCrdbError(t, err, msg, cfg) |
| 132 | } |
| 133 | |
| 134 | func newCombinedCrdbError(t *Type, errs []error) Error { |
| 135 | msg := &errMessage{} |
no test coverage detected