module Filemaker::Errors

Constants

DESCRIPTION

Public Class Methods

error_message_by_code(code) click to toggle source
# File lib/filemaker/errors.rb, line 83
def self.error_message_by_code(code)
  "#{code} (#{DESCRIPTION.fetch(code.to_s) { '??' }})"
end
find_error_class_by_code(code) click to toggle source
# File lib/filemaker/errors.rb, line 87
def self.find_error_class_by_code(code)
  case code
  when -1  then UnknownError
  when 1..99
    if code == 1; UserCancelledError
    elsif code == 2; MemoryError
    elsif code == 3; CommandNotAvailableError
    elsif code == 4; CommandUnknownError
    elsif code == 5; CommandInvalidError
    elsif code == 6; FileReadOnlyError
    elsif code == 7; OutOfMemoryError
    elsif code == 8; EmptyResultError
    elsif code == 9; InsufficientPrivilegesError
    elsif code == 10; RequestedDataMissingError
    else SystemError; end
  when 100..199
    if code == 100; FileMissingError
    elsif code == 101; RecordMissingError
    elsif code == 102; FieldMissingError
    elsif code == 104; ScriptMissingError
    elsif code == 105; LayoutMissingError
    elsif code == 106; TableMissingError
    else MissingError; end
  when 200..299
    if code == 200; RecordAccessDeniedError
    elsif code == 201; FieldCannotBeModifiedError
    elsif code == 202; FieldAccessDeniedError
    else SecurityError; end
  when 300..399
    if code == 300; FileLockedError
    elsif code == 301; RecordInUseError
    elsif code == 302; TableInUseError
    elsif code == 306; RecordModificationIdMismatchError
    else ConcurrencyError; end
  when 400..499
    if code == 400; FindCriteriaEmptyError
    elsif code == 401; NoRecordsFoundError
    else; GeneralError; end
  when 500..599
    if code == 500; DateValidationError
    elsif code == 501; TimeValidationError
    elsif code == 502; NumberValidationError
    elsif code == 503; RangeValidationError
    elsif code == 504; UniquenessValidationError
    elsif code == 505; ExistingValidationError
    elsif code == 506; ValueListValidationError
    elsif code == 507; CalculationValidationError
    elsif code == 508; InvalidFindModeValueValidationError
    elsif code == 511; MaximumCharactersValidationError
    else; ValidationError; end
  when 800..899
    if code == 800; UnableToCreateFileError
    elsif code == 801; UnableToCreateTempFileError
    elsif code == 802; UnableToOpenFileError
    elsif code == 804; FileReadOnlyError
    else; FileError; end
  else
    UnknownError
  end
end
raise_error_by_code(code) click to toggle source
# File lib/filemaker/errors.rb, line 77
def self.raise_error_by_code(code)
  msg = error_message_by_code(code)
  error_class = find_error_class_by_code(code)
  raise error_class.new(code, msg)
end