The long-awaited feature has finally arrived. Airbrake now supports nested exceptions!
What are nested exceptions? Sometimes exception handling code can fail and raise an exception itself. In some languages such as Ruby, the original exception the code was trying to handle is stored in a new exception object and exposed by the Exception#cause method. Example of a nested exception:
def faily_method 1/0 rescue ZeroDivisionError raise StandardError # Oh no, exception handling code failed! end begin faily_method rescue ZeroDivisionError $! #=> StandardError $!.cause #=> ZeroDivisionError end
Previously, Airbrake would only report the StandardError error. Beginning today our dashboard officially supports nested exceptions:
Want to start capturing nested exceptions today? Start your 30-day free trial today and you’ll be organising and tracking all your application’s errors in just a few minutes.