errors icon indicating copy to clipboard operation
errors copied to clipboard

Question: Obtaining the original cause

Open johngb opened this issue 7 years ago • 5 comments

I have been using this package for a while now without any problems (I love it). However, today I came across a behaviour in my code that I can't understand when trying compare the result of errors.Cause with a named error. I've read through the documentation, and I came across the following statement:

Depending on the nature of the error it may be necessary to reverse the operation of errors.Wrap to retrieve the original error for inspection.

  1. In which situations is it necessary to reverse the operation of errors.Wrap to inspect the original error?
  2. How does one reverse the operation of errors.Wrap to obtain the original error?

johngb avatar Oct 10 '17 15:10 johngb

How does one reverse the operation of errors.Wrap to obtain the original error?

https://github.com/pkg/errors#retrieving-the-cause-of-an-error

pierrre avatar Oct 14 '17 20:10 pierrre

@pierrre I asked because I had a case where errors.Cause was returning an error which when compared to the original named error in a package did not evaluate as equal.

We've subsequently worked around the issue by comparing the err.Error() string for each instead, but the problem was perplexing.

johngb avatar Oct 14 '17 23:10 johngb

where errors.Cause was returning an error which when compared to the original named error in a package did not evaluate as equal

Why aren't they equal ? Did you inspect the error values with fmt.Printf("%#v", err) ?

pierrre avatar Oct 15 '17 08:10 pierrre

Why aren't they equal ?

I wish I knew. From everything that I understand, they should be, but for some unknown reason weren't evaluating as equal.

Did you inspect the error values with fmt.Printf("%#v", err) ?

No, I didn't, but in hindsight I should have. For logistical reasons it may not be feasible for me to roll back the project to test this out, but I'll do my best to compare them this week.

johngb avatar Oct 15 '17 22:10 johngb

@johngb Any followup on this ?

LasTshaMAN avatar Mar 08 '18 20:03 LasTshaMAN