Sha256: accd76f525502e0aa387e05e8a868914540d8bc237cb0cb7765e55c160c31262

Contents?: true

Size: 481 Bytes

Versions: 1

Compression:

Stored size: 481 Bytes

Contents

# require "nydp/vm"

class Nydp::Builtin::HandleError
  include Nydp::Helper, Nydp::Builtin::Base, Singleton

  def builtin_call handler, tricky
    begin
      res = tricky.call
    rescue Exception => e
      o = e
      msgs = []
      traces = []
      while e
        msgs << e.message
        traces << Nydp.enhance_backtrace(e.backtrace)
        e = e.cause
      end
      res = handler.call msgs._nydp_wrapper, traces._nydp_wrapper
    end
    res._nydp_wrapper
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nydp-0.6.0 lib/nydp/builtin/handle_error.rb