Exception: Rufus::Lua::LuaError
- Inherits:
-
RuntimeError
- Object
- RuntimeError
- Rufus::Lua::LuaError
- Defined in:
- lib/rufus/lua/error.rb
Overview
An error class for rufus-lua.
Constant Summary collapse
- CALLER_REX =
/^(.+):(\d+):/
- DIR =
File.dirname(__FILE__)
Instance Attribute Summary collapse
-
#binding ⇒ Object
readonly
Returns the value of attribute binding.
-
#errcode ⇒ Object
readonly
Returns the value of attribute errcode.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#lineno ⇒ Object
readonly
Returns the value of attribute lineno.
-
#msg ⇒ Object
readonly
Returns the value of attribute msg.
-
#original_backtrace ⇒ Object
readonly
Returns the value of attribute original_backtrace.
Instance Method Summary collapse
-
#initialize(kind, errcode, msg, binding, filename, lineno) ⇒ LuaError
constructor
A new instance of LuaError.
- #set_backtrace(trace) ⇒ Object
Constructor Details
#initialize(kind, errcode, msg, binding, filename, lineno) ⇒ LuaError
Returns a new instance of LuaError.
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rufus/lua/error.rb', line 38 def initialize(kind, errcode, msg, binding, filename, lineno) super("#{kind} : '#{msg}' (#{errcode})") @kind = kind @errcode = errcode @msg = msg @binding = binding @filename = filename @lineno = lineno end |
Instance Attribute Details
#binding ⇒ Object (readonly)
Returns the value of attribute binding.
34 35 36 |
# File 'lib/rufus/lua/error.rb', line 34 def binding @binding end |
#errcode ⇒ Object (readonly)
Returns the value of attribute errcode.
33 34 35 |
# File 'lib/rufus/lua/error.rb', line 33 def errcode @errcode end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
34 35 36 |
# File 'lib/rufus/lua/error.rb', line 34 def filename @filename end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
33 34 35 |
# File 'lib/rufus/lua/error.rb', line 33 def kind @kind end |
#lineno ⇒ Object (readonly)
Returns the value of attribute lineno.
34 35 36 |
# File 'lib/rufus/lua/error.rb', line 34 def lineno @lineno end |
#msg ⇒ Object (readonly)
Returns the value of attribute msg.
33 34 35 |
# File 'lib/rufus/lua/error.rb', line 33 def msg @msg end |
#original_backtrace ⇒ Object (readonly)
Returns the value of attribute original_backtrace.
36 37 38 |
# File 'lib/rufus/lua/error.rb', line 36 def original_backtrace @original_backtrace end |
Instance Method Details
#set_backtrace(trace) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/rufus/lua/error.rb', line 67 def set_backtrace(trace) @original_backtrace = trace trace = trace.select { |line| m = CALLER_REX.match(line) ( ! m) || File.dirname(m[1]) != DIR } trace.insert(0, "#{@filename}:#{@lineno}:") if @filename super(trace) end |