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