From 62bd3dd4af5ac017a05e250293abe9e5c87a1193 Mon Sep 17 00:00:00 2001 From: drbrain Date: Wed, 19 Oct 2011 02:32:39 +0000 Subject: [PATCH] * error.c (Init_Exception): Add hierarchy of Exception subclasses. Based on patch by Sylvain Daubert. [Ruby 1.9 - Bug #5438] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ error.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7ae0e84283..56f81c3355 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 19 11:25:46 2011 Eric Hodel + + * error.c (Init_Exception): Add hierarchy of Exception subclasses. + Based on patch by Sylvain Daubert. [Ruby 1.9 - Bug #5438] + Wed Oct 19 11:04:47 2011 Eric Hodel * enum.c: Reformat block args to a single standard, { |args| ... }. diff --git a/error.c b/error.c index 8bf33e65ad..f699ea7bdd 100644 --- a/error.c +++ b/error.c @@ -1530,6 +1530,38 @@ syserr_eqq(VALUE self, VALUE exc) * optional traceback information. Programs may subclass * Exception, or more typically StandardError * to provide custom classes and add additional information. + * + * The built-in subclasses of Exception are: + * + * * NoMemoryError + * * ScriptError + * * LoadError + * * NotImplementedError + * * SyntaxError + * * SignalException + * * Interrupt + * * StandardError -- default for +rescue+ + * * ArgumentError + * * IndexError + * * StopIteration + * * IOError + * * EOFError + * * LocalJumpError + * * NameError + * * NoMethodError + * * RangeError + * * FloatDomainError + * * RegexpError + * * RuntimeError -- default for +raise+ + * * SecurityError + * * SystemCallError + * * Errno::* + * * SystemStackError + * * ThreadError + * * TypeError + * * ZeroDivisionError + * * SystemExit + * * fatal -- impossible to rescue */ void