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