diff options
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/10error.rb | 3 | ||||
| -rw-r--r-- | mrblib/string.rb | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/mrblib/10error.rb b/mrblib/10error.rb index 22a8d1ad7..0d9f38d58 100644 --- a/mrblib/10error.rb +++ b/mrblib/10error.rb @@ -51,6 +51,9 @@ end class NotImplementedError < ScriptError end +class FrozenError < RuntimeError +end + class StopIteration < IndexError attr_accessor :result end diff --git a/mrblib/string.rb b/mrblib/string.rb index 4c6114ecb..ee98cfa0c 100644 --- a/mrblib/string.rb +++ b/mrblib/string.rb @@ -96,7 +96,7 @@ class String # # ISO 15.2.10.5.19 def gsub!(*args, &block) - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? return to_enum(:gsub!, *args) if args.length == 1 && !block str = self.gsub(*args, &block) return nil if str == self @@ -159,7 +159,7 @@ class String # # ISO 15.2.10.5.37 def sub!(*args, &block) - raise RuntimeError, "can't modify frozen String" if frozen? + raise FrozenError, "can't modify frozen String" if frozen? str = self.sub(*args, &block) return nil if str == self self.replace(str) |
