instance method
translate_exception
Ruby on Rails 5.2.8.1
Since v3.2.22.5 PrivateSignature
translate_exception(exception, message)
No documentation comment.
Parameters
-
exceptionreq -
messagereq
Source
# 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
Defined in activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb line 634
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter