method

translate_exception

rails latest stable - Class: ActiveRecord::ConnectionAdapters

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v5.2.3) is shown here.

translate_exception(exception, message)
private

No documentation available.

# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 634
        def translate_exception(exception, message)
          case error_number(exception)
          when ER_DUP_ENTRY
            RecordNotUnique.new(message)
          when ER_NO_REFERENCED_ROW_2
            InvalidForeignKey.new(message)
          when ER_CANNOT_ADD_FOREIGN
            mismatched_foreign_key(message)
          when ER_CANNOT_CREATE_TABLE
            if message.include?("errno: 150")
              mismatched_foreign_key(message)
            else
              super
            end
          when ER_DATA_TOO_LONG
            ValueTooLong.new(message)
          when ER_OUT_OF_RANGE
            RangeError.new(message)
          when ER_NOT_NULL_VIOLATION, ER_DO_NOT_HAVE_DEFAULT
            NotNullViolation.new(message)
          when ER_LOCK_DEADLOCK
            Deadlocked.new(message)
          when ER_LOCK_WAIT_TIMEOUT
            LockWaitTimeout.new(message)
          when ER_QUERY_TIMEOUT
            StatementTimeout.new(message)
          when ER_QUERY_INTERRUPTED
            QueryCanceled.new(message)
          else
            super
          end
        end