1# ISO 15.2.24
2class ArgumentError < StandardError
3end
4
5# ISO 15.2.25 says "LocalJumpError < StandardError"
6class LocalJumpError < ScriptError
7end
8
9# ISO 15.2.26
10class RangeError < StandardError
11end
12
13class FloatDomainError < RangeError
14end
15
16# ISO 15.2.26
17class RegexpError < StandardError
18end
19
20# ISO 15.2.29
21class TypeError < StandardError
22end
23
24# ISO 15.2.31
25class NameError < StandardError
26  attr_accessor :name
27
28  def initialize(message=nil, name=nil)
29    @name = name
30    super(message)
31  end
32end
33
34# ISO 15.2.32
35class NoMethodError < NameError
36  attr_reader :args
37
38  def initialize(message=nil, name=nil, args=nil)
39    @args = args
40    super message, name
41  end
42end
43
44# ISO 15.2.33
45class IndexError < StandardError
46end
47
48class KeyError < IndexError
49end
50
51class NotImplementedError < ScriptError
52end
53
54class FrozenError < RuntimeError
55end
56
57class StopIteration < IndexError
58  attr_accessor :result
59end
60