Raygun4Net - .NET Error Handling & Reporting

Version 1

Initial release.

Uses the inner-most error (keeps grabbing error.InnerError until there are no more InnerErrors).

Appends the exception class, message*, and the class and method of the first stack frame if there is one.

* The message is only used if there is no available stacktrace or certain WebExceptions are thrown.

Version 2

Uses error information from the outermost error and all InnerError using a depth-first tree traversal. It also checks for AggregateExceptions and extracts error information from each it's inner exceptions.

Appends the exception class, message*, and the class and method of each stack frame if there are any.

* The message is only used if there is no available stacktrace or certain WebExceptions are thrown.

Version 3

Same as Version 2, but includes the HTTP Method and Status Code from the Request and Response sections if they have been sent in.

Version 4

Modified version of the Version 3 provider that strips GUIDs from exception messages

Version 5

Same as Version 3, but uses the fileName for stack frames that do not have both a className and a methodName

Version 6

Modified version of the Version 5 hasher that deals with pathological AggregateExceptions better, by checking to see if we've dealt with an InnerError of that type before. Useful for scenarios where a lot of AggregateExceptions are being thrown with varying numbers of the same type of error.

For instance, if you are awaiting 10 tasks and any number of them may fail with a NullReferenceException, then this hasher will only use the first NullReferenceException it sees.

Documentation missing?

If we don't have documentation about your desired topic, send us a message and we'll create it for you.