Pickaxe 2nd ed page 462.
Ruby exception hierarchy.
While it may be tempting to rescue every child of the exception class it is generally considered bad practice due to the way the ruby exception hierarchy is structured.
Ruby features a plethora of built in classes to dramatically simplify exception handling and management.
Here i ll prove it to you.
At the top most level of the exception class hierarchy resides the exception class the monolithic parent class of over a half dozen subclasses which typically regulate the grunt work of ruby exception handling.
Understanding the ruby exception hierarchy exceptions are just classes in ruby.
In the above diagram most of the exceptions come under standarderror class which are the general exceptions arises in the ruby program.
The exception exception hierarchy is made up of all the classes that inherit from exception.
The class hierarchy we just made a custom exception by subclassing standarderror which itself subclasses exception.
All source code included in the card ruby exception class hierarchy is licensed under the license stated below.
The match will succeed if the exception named in the rescue clause is the same as the type of the currently thrown exception or is a superclass of that exception.
In fact if you look at the class hierarchy of any exception in ruby you ll find it eventually leads back to exception.
Ruby s exception class exception is the top level class in ruby that all errors inherit from.
Exception class its hierarchy it is the package that contains the information about the exception in an object.
Today i needed to know the class hierarchy under exception and maybe it s there online but i couldn t find it.
Standarderror and its descendants are application errors while all other exceptions are used internally by ruby.
Here s a the exception hierarchy for ruby 2 1 s standard library.
For each rescue clause in the begin block ruby compares the raised exception against each of the parameters in turn.
Posted by nick sieger wed 06 sep 2006 20 16 00 gmt.
Ruby contains a predefined hierarchy of exceptions as shown below.
Well you could always use ruby itself too that way you ll always have an up to date list.