instance method
translate_exception
Ruby on Rails 7.1.6
Since v7.1.6 PrivateSignature
translate_exception(exception, message:, sql:, binds:)
No documentation comment.
Parameters
-
exceptionreq -
messagekeyreq -
sqlkeyreq -
bindskeyreq
Source
# File activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb, line 218
def translate_exception(exception, message:, sql:, binds:)
if exception.is_a?(::Trilogy::TimeoutError) && !exception.error_code
return ActiveRecord::AdapterTimeout.new(message, sql: sql, binds: binds, connection_pool: @pool)
end
error_code = exception.error_code if exception.respond_to?(:error_code)
case error_code
when ER_SERVER_SHUTDOWN
return ConnectionFailed.new(message, connection_pool: @pool)
end
case exception
when Errno::EPIPE, SocketError, IOError
return ConnectionFailed.new(message, connection_pool: @pool)
when ::Trilogy::Error
if /Connection reset by peer|TRILOGY_CLOSED_CONNECTION|TRILOGY_INVALID_SEQUENCE_ID|TRILOGY_UNEXPECTED_PACKET/.match?(exception.message)
return ConnectionFailed.new(message, connection_pool: @pool)
end
end
super
end
Defined in activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb line 218
· View on GitHub
· Improve this page
· Find usages on GitHub