Exceptions in Ruby On Rails June 20, 2007 05:17 over 3 years ago
I was talking about exceptions in Java language and afterwards one dude asked me about the same in Ruby On Rails. Well Rails has no checked exception and all is nice. Or? I googled the internet for a visual layout over exception classes in Rails but could not find anything. So here are the code to do the same stuff.
exceptions = []
tree = {}
ObjectSpace.each_object(Class) do |cls|
next unless cls.ancestors.include? Exception
next if exceptions.include? cls
next if cls.superclass == SystemCallError # avoid dumping Errno's
exceptions << cls
cls.ancestors.delete_if {|e| [Object, Kernel].include? e }.reverse.inject(tree) {|memo,cls| memo[cls] ||= {}}
end
indent = 0
tree_printer = Proc.new do |t|
t.keys.sort { |c1,c2| c1.name <=> c2.name }.each do |k|
space = (' ' * indent); space ||= ''
puts space + k.to_s
indent += 2; tree_printer.call t[k]; indent -= 2
end
end
tree_printer.call tree
By Frank Vilhelmsen - 1 tag: ruby - Add comment