Method: Cuboid::Utilities#exception_jail
- Defined in:
- lib/cuboid/utilities.rb
#exception_jail(raise_exception = true, &block) ⇒ Object
Wraps the ‘block` in exception handling code and runs it.
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/cuboid/utilities.rb', line 105 def exception_jail( raise_exception = true, &block ) block.call rescue => e if respond_to?( :print_error ) && respond_to?( :print_exception ) print_exception e print_error print_error 'Parent:' print_error self.class.to_s print_error print_error 'Block:' print_error block.to_s print_error print_error 'Caller:' ::Kernel.caller.each { |l| print_error l } print_error '-' * 80 end raise e if raise_exception nil end |