mirror of
https://github.com/kanaka/mal.git
synced 2024-10-27 06:40:14 +03:00
54 lines
1.2 KiB
Ruby
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
|