(t *Type, err error, msg *errMessage, opts *Options)
| 146 | } |
| 147 | |
| 148 | func newCrdbError(t *Type, err error, msg *errMessage, opts *Options) *crdbErrorImpl { |
| 149 | errType := t |
| 150 | var wrappedErr *crdbErrorImpl |
| 151 | var wrappedRaw error |
| 152 | opts.stackOffset += 2 |
| 153 | if err == nil { |
| 154 | if enableStacktraces { |
| 155 | wrappedRaw = cerror.NewWithDepth(int(opts.stackOffset), msg.getPrettifiedMessage()) |
| 156 | } else { |
| 157 | wrappedRaw = errors.New(msg.getPrettifiedMessage()) |
| 158 | } |
| 159 | } else { |
| 160 | if cast, ok := err.(*crdbErrorImpl); ok { |
| 161 | err = cast.wrappedRaw |
| 162 | wrappedErr = cast |
| 163 | } |
| 164 | if enableStacktraces { |
| 165 | wrappedRaw = cerror.WrapWithDepth(int(opts.stackOffset), err, msg.getPrettifiedMessage()) |
| 166 | } else { |
| 167 | wrappedRaw = cerror.WithDetail(err, msg.getPrettifiedMessage()) |
| 168 | } |
| 169 | } |
| 170 | impl := &crdbErrorImpl{ |
| 171 | wrappedRaw: wrappedRaw, |
| 172 | wrapped: wrappedErr, |
| 173 | msg: msg, |
| 174 | data: opts.data, |
| 175 | t: errType, |
| 176 | } |
| 177 | return impl |
| 178 | } |
| 179 | |
| 180 | var _ Error = (*crdbErrorImpl)(nil) |
no test coverage detected