corelib/error.rb in opal-0.4.4 vs corelib/error.rb in opal-0.5.0
- old
+ new
@@ -2,19 +2,19 @@
attr_reader :message
def self.new(message = '')
%x{
var err = new Error(message);
- err._klass = #{self};
- err.name = #{self}._name;
+ err._klass = self;
+ err.name = self._name;
return err;
}
end
def backtrace
%x{
- var backtrace = #{self}.stack;
+ var backtrace = self.stack;
if (typeof(backtrace) === 'string') {
return backtrace.split("\\n").slice(0, 15);
}
else if (backtrace) {
@@ -30,23 +30,34 @@
end
alias to_s message
end
+# keep the indentation, it makes the exception hierarchy clear
class StandardError < Exception; end
+ class SystemCallError < StandardError; end
class NameError < StandardError; end
class NoMethodError < NameError; end
class RuntimeError < StandardError; end
class LocalJumpError < StandardError; end
class TypeError < StandardError; end
class ArgumentError < StandardError; end
class IndexError < StandardError; end
class StopIteration < IndexError; end
class KeyError < IndexError; end
class RangeError < StandardError; end
+ class FloatDomainError < RangeError; end
class IOError < StandardError; end
class ScriptError < Exception; end
class SyntaxError < ScriptError; end
class NotImplementedError < ScriptError; end
class SystemExit < Exception; end
+
+module Errno
+ class EINVAL < SystemCallError
+ def self.new
+ super('Invalid argument')
+ end
+ end
+end