>>>>> "A" == Aleksei Guzev <aleksei.guzev / bigfoot.com> writes: A> A) process harware exceptions with Ruby's "rescue" ( I've done this ) A> B) collect hardware exceptions in class MyException A> C) allow processing of Ruby's ZeroDivisionError and my Int- and A> Float-DivisionByZero exceptions with single block: A> rescue ZeroDivisionError. A> (Not "rescue ZeroDivisionError, IntDivisionByZero, A> FloatDivisionByZero"!) Why not something like this pigeon% cat b.rb #!/usr/bin/ruby -w module MyException end class IntDivisionError < ZeroDivisionError include MyException end begin raise IntDivisionError rescue ZeroDivisionError puts "received" end pigeon% b.rb received pigeon% Guy Decoux