Ruby contains a predefined hierarchy of exceptions as shown below.
Ruby exception hierarchy.
The class hierarchy we just made a custom exception by subclassing standarderror which itself subclasses exception.
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.
All source code included in the card ruby exception class hierarchy is licensed under the license stated below.
Well you could always use ruby itself too that way you ll always have an up to date list.
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 s exception class exception is the top level class in ruby that all errors inherit from.
Posted by nick sieger wed 06 sep 2006 20 16 00 gmt.
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.
Here i ll prove it to you.
The reason for this is that while all ruby exceptions and errors are an extension of the exception class many of them are reserved for use internally by ruby.
For each rescue clause in the begin block ruby compares the raised exception against each of the parameters in turn.
Standarderror and its descendants are application errors while all other exceptions are used internally by ruby.
Excepted from this license are code snippets that are explicitely marked as citations from another source.
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.
Understanding the ruby exception hierarchy exceptions are just classes in ruby.
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.
Here s a the exception hierarchy for ruby 2 1 s standard library.