|
37 | 37 | package errors |
38 | 38 |
|
39 | 39 | import ( |
| 40 | + stderrors "errors" |
40 | 41 | "fmt" |
41 | 42 | "strings" |
42 | 43 | ) |
@@ -172,83 +173,79 @@ func (e *Error) ErrorV2(additionalInfo interface{}) ErrorV2 { |
172 | 173 | } |
173 | 174 |
|
174 | 175 | func GetCode(err error) string { |
175 | | - var code string |
176 | | - defer func() { |
177 | | - if r := recover(); r != nil { |
178 | | - code = strings.Join(NoneString[:], "") |
179 | | - } |
180 | | - }() |
181 | | - if obj := err.(*Error); obj != nil && obj.Code != " " { |
182 | | - code = obj.Code |
183 | | - } else { |
184 | | - code = strings.Join(NoneString[:], "") |
| 176 | + var errV2 *ErrorV2 |
| 177 | + if stderrors.As(err, &errV2) && errV2 != nil && errV2.Code != " " { |
| 178 | + return errV2.Code |
185 | 179 | } |
186 | | - return code |
| 180 | + |
| 181 | + var errV1 *Error |
| 182 | + if stderrors.As(err, &errV1) && errV1 != nil && errV1.Code != " " { |
| 183 | + return errV1.Code |
| 184 | + } |
| 185 | + return strings.Join(NoneString[:], "") |
187 | 186 | } |
188 | 187 |
|
189 | 188 | func GetSeverity(err error) Severity { |
190 | | - var severity Severity |
191 | | - defer func() { |
192 | | - if r := recover(); r != nil { |
193 | | - severity = None |
194 | | - } |
195 | | - }() |
196 | | - if obj := err.(*Error); obj != nil { |
197 | | - severity = obj.Severity |
198 | | - } else { |
199 | | - severity = None |
| 189 | + var errV2 *ErrorV2 |
| 190 | + if stderrors.As(err, &errV2) && errV2 != nil { |
| 191 | + return errV2.Severity |
| 192 | + } |
| 193 | + |
| 194 | + var errV1 *Error |
| 195 | + if stderrors.As(err, &errV1) && errV1 != nil { |
| 196 | + return errV1.Severity |
200 | 197 | } |
201 | | - return severity |
| 198 | + return None |
202 | 199 | } |
203 | 200 |
|
204 | 201 | func GetSDescription(err error) string { |
205 | | - var description string |
206 | | - defer func() { |
207 | | - if r := recover(); r != nil { |
208 | | - description = strings.Join(NoneString[:], "") |
209 | | - } |
210 | | - }() |
211 | | - if obj := err.(*Error); obj != nil { |
212 | | - description = strings.Join(obj.ShortDescription[:], ".") |
213 | | - } else { |
214 | | - description = strings.Join(NoneString[:], "") |
| 202 | + var errV2 *ErrorV2 |
| 203 | + if stderrors.As(err, &errV2) && errV2 != nil { |
| 204 | + return strings.Join(errV2.ShortDescription[:], ".") |
| 205 | + } |
| 206 | + |
| 207 | + var errV1 *Error |
| 208 | + if stderrors.As(err, &errV1) && errV1 != nil { |
| 209 | + return strings.Join(errV1.ShortDescription[:], ".") |
215 | 210 | } |
216 | | - return description |
| 211 | + return strings.Join(NoneString[:], "") |
217 | 212 | } |
218 | 213 |
|
219 | 214 | func GetCause(err error) string { |
220 | | - var cause string |
221 | | - defer func() { |
222 | | - if r := recover(); r != nil { |
223 | | - cause = strings.Join(NoneString[:], "") |
224 | | - } |
225 | | - }() |
226 | | - if obj := err.(*Error); obj != nil { |
227 | | - cause = strings.Join(obj.ProbableCause[:], ".") |
228 | | - } else { |
229 | | - cause = strings.Join(NoneString[:], "") |
| 215 | + var errV2 *ErrorV2 |
| 216 | + if stderrors.As(err, &errV2) && errV2 != nil { |
| 217 | + return strings.Join(errV2.ProbableCause[:], ".") |
230 | 218 | } |
231 | | - return cause |
| 219 | + |
| 220 | + var errV1 *Error |
| 221 | + if stderrors.As(err, &errV1) && errV1 != nil { |
| 222 | + return strings.Join(errV1.ProbableCause[:], ".") |
| 223 | + } |
| 224 | + return strings.Join(NoneString[:], "") |
232 | 225 | } |
233 | 226 |
|
234 | 227 | func GetRemedy(err error) string { |
235 | | - var remedy string |
236 | | - defer func() { |
237 | | - if r := recover(); r != nil { |
238 | | - remedy = strings.Join(NoneString[:], "") |
239 | | - } |
240 | | - }() |
241 | | - if obj := err.(*Error); obj != nil { |
242 | | - remedy = strings.Join(obj.SuggestedRemediation[:], ".") |
243 | | - } else if err != nil { |
244 | | - remedy = strings.Join(NoneString[:], "") |
| 228 | + var errV2 *ErrorV2 |
| 229 | + if stderrors.As(err, &errV2) && errV2 != nil { |
| 230 | + return strings.Join(errV2.SuggestedRemediation[:], ".") |
| 231 | + } |
| 232 | + |
| 233 | + var errV1 *Error |
| 234 | + if stderrors.As(err, &errV1) && errV1 != nil { |
| 235 | + return strings.Join(errV1.SuggestedRemediation[:], ".") |
245 | 236 | } |
246 | | - return remedy |
| 237 | + return strings.Join(NoneString[:], "") |
247 | 238 | } |
248 | 239 |
|
249 | 240 | func GetLDescription(err error) string { |
250 | | - if e, ok := err.(*Error); ok && e != nil { |
251 | | - return strings.Join(e.LongDescription, ".") |
| 241 | + var errV2 *ErrorV2 |
| 242 | + if stderrors.As(err, &errV2) && errV2 != nil { |
| 243 | + return strings.Join(errV2.LongDescription, ".") |
| 244 | + } |
| 245 | + |
| 246 | + var errV1 *Error |
| 247 | + if stderrors.As(err, &errV1) && errV1 != nil { |
| 248 | + return strings.Join(errV1.LongDescription, ".") |
252 | 249 | } |
253 | 250 | return strings.Join(NoneString, "") |
254 | 251 | } |
|
0 commit comments