Files
mruby-mruby/mrblib/10error.rb
T
Yukihiro "Matz" Matsumoto b30eba6a13 Make LocalJumpError a subclass of ScriptError.
It's incompatible with CRuby, but it is required for mruby because
it cannot detect `break` outside of loops in the parsing time, but
in the code generation time where it cannot raise `SyntaxError`.
2017-06-23 18:08:38 +09:00

57 lines
860 B
Ruby

# ISO 15.2.24
class ArgumentError < StandardError
end
# ISO 15.2.25 says "LocalJumpError < StandardError"
class LocalJumpError < ScriptError
end
# ISO 15.2.26
class RangeError < StandardError
end
class FloatDomainError < RangeError
end
# ISO 15.2.26
class RegexpError < StandardError
end
# ISO 15.2.29
class TypeError < StandardError
end
# ISO 15.2.31
class NameError < StandardError
attr_accessor :name
def initialize(message=nil, name=nil)
@name = name
super(message)
end
end
# ISO 15.2.32
class NoMethodError < NameError
attr_reader :args
def initialize(message=nil, name=nil, args=nil)
@args = args
super message, name
end
end
# ISO 15.2.33
class IndexError < StandardError
end
class KeyError < IndexError
end
class NotImplementedError < ScriptError
end
class StopIteration < IndexError
attr_accessor :result
end