1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 18:18:51 +03:00
mal/impls/ruby.2/errors.rb
2021-12-13 18:18:16 -06:00

54 lines
1.2 KiB
Ruby

module Mal
class Error < ::StandardError; end
class TypeError < ::TypeError; end
class MalError < Error
attr_reader :value
def initialize(value)
@value = value
end
def message
value.inspect
end
end
class FileNotFoundError < Error; end
class IndexError < TypeError; end
class SkipCommentError < Error; end
class InvalidHashmapKeyError < TypeError; end
class InvalidIfExpressionError < TypeError; end
class InvalidLetBindingsError < TypeError; end
class InvalidReaderPositionError < Error; end
class InvalidTypeError < TypeError; end
class NotCallableError < Error; end
class SymbolNotFoundError < Error; end
class SyntaxError < TypeError; end
class UnbalancedEscapingError < Error; end
class UnbalancedHashmapError < Error; end
class UnbalancedListError < Error; end
class UnbalancedStringError < Error; end
class UnbalancedVectorError < Error; end
class UnknownError < Error
attr_reader :original_error
def initialize(original_error)
@original_error = original_error
end
def inspect
"UnknownError :: #{original_error.inspect}"
end
def message
"UnknownError<#{original_error.class}> :: #{original_error.message}"
end
end
end