Posted by nick sieger wed 06 sep 2006 20 16 00 gmt.
Ruby exception hierarchy.
Excepted from this license are code snippets that are explicitely marked as citations from another source.
Here s a the exception hierarchy for ruby 2 1 s standard library.
In fact if you look at the class hierarchy of any exception in ruby you ll find it eventually leads back to exception.
Pickaxe 2nd ed page 462.
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.
Today i needed to know the class hierarchy under exception and maybe it s there online but i couldn t find it.
The exception exception hierarchy is made up of all the classes that inherit from exception.
Ruby features a plethora of built in classes to dramatically simplify exception handling and management.
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.
Ruby s exception class exception is the top level class in ruby that all errors inherit from.
Understanding the ruby exception hierarchy exceptions are just classes in ruby.
The class hierarchy we just made a custom exception by subclassing standarderror which itself subclasses exception.
Standarderror and its descendants are application errors while all other exceptions are used internally by ruby.
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.
Exception class its hierarchy it is the package that contains the information about the exception in an object.
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 the above diagram most of the exceptions come under standarderror class which are the general exceptions arises in the ruby program.
Well you could always use ruby itself too that way you ll always have an up to date list.
All source code included in the card ruby exception class hierarchy is licensed under the license stated below.
This includes both code snippets embedded in the card text and code that is included as a file attachment.