Exception: Mongo::Error
- Inherits:
-
StandardError
- Object
- StandardError
- Mongo::Error
- Includes:
- Notable
- Defined in:
- lib/mongo/error.rb,
lib/mongo/error/parser.rb,
lib/mongo/error/notable.rb,
lib/mongo/error/kms_error.rb,
lib/mongo/error/auth_error.rb,
lib/mongo/error/lint_error.rb,
lib/mongo/error/crypt_error.rb,
lib/mongo/error/invalid_uri.rb,
lib/mongo/error/invalid_file.rb,
lib/mongo/error/socket_error.rb,
lib/mongo/error/closed_stream.rb,
lib/mongo/error/invalid_nonce.rb,
lib/mongo/error/max_bson_size.rb,
lib/mongo/error/session_ended.rb,
lib/mongo/error/file_not_found.rb,
lib/mongo/error/no_srv_records.rb,
lib/mongo/error/handshake_error.rb,
lib/mongo/error/invalid_address.rb,
lib/mongo/error/invalid_session.rb,
lib/mongo/error/write_retryable.rb,
lib/mongo/error/bulk_write_error.rb,
lib/mongo/error/extra_file_chunk.rb,
lib/mongo/error/invalid_document.rb,
lib/mongo/error/max_message_size.rb,
lib/mongo/error/missing_password.rb,
lib/mongo/error/multi_index_drop.rb,
lib/mongo/error/invalid_signature.rb,
lib/mongo/error/mismatched_domain.rb,
lib/mongo/error/operation_failure.rb,
lib/mongo/error/pool_closed_error.rb,
lib/mongo/error/invalid_txt_record.rb,
lib/mongo/error/missing_file_chunk.rb,
lib/mongo/error/unsupported_option.rb,
lib/mongo/error/connection_perished.rb,
lib/mongo/error/invalid_read_option.rb,
lib/mongo/error/need_primary_server.rb,
lib/mongo/error/no_server_available.rb,
lib/mongo/error/unexpected_response.rb,
lib/mongo/error/missing_resume_token.rb,
lib/mongo/error/raise_original_error.rb,
lib/mongo/error/sdam_error_detection.rb,
lib/mongo/error/socket_timeout_error.rb,
lib/mongo/error/unknown_payload_type.rb,
lib/mongo/error/unsupported_features.rb,
lib/mongo/error/invalid_database_name.rb,
lib/mongo/error/invalid_file_revision.rb,
lib/mongo/error/invalid_min_pool_size.rb,
lib/mongo/error/invalid_write_concern.rb,
lib/mongo/error/unsupported_collation.rb,
lib/mongo/error/credential_check_error.rb,
lib/mongo/error/invalid_bulk_operation.rb,
lib/mongo/error/sessions_not_supported.rb,
lib/mongo/error/change_stream_resumable.rb,
lib/mongo/error/invalid_collection_name.rb,
lib/mongo/error/invalid_update_document.rb,
lib/mongo/error/mongocryptd_spawn_error.rb,
lib/mongo/error/unexpected_chunk_length.rb,
lib/mongo/error/invalid_application_name.rb,
lib/mongo/error/invalid_cursor_operation.rb,
lib/mongo/error/invalid_server_auth_host.rb,
lib/mongo/error/unsupported_message_type.rb,
lib/mongo/error/invalid_server_preference.rb,
lib/mongo/error/unsupported_array_filters.rb,
lib/mongo/error/invalid_bulk_operation_type.rb,
lib/mongo/error/connection_check_out_timeout.rb,
lib/mongo/error/insufficient_iteration_count.rb,
lib/mongo/error/invalid_replacement_document.rb,
lib/mongo/error/invalid_server_auth_response.rb,
lib/mongo/error/failed_string_prep_validation.rb,
lib/mongo/error/invalid_transaction_operation.rb,
lib/mongo/error/missing_scram_server_signature.rb,
lib/mongo/error/unchangeable_collection_option.rb
Overview
Base error class for all Mongo related errors.
Direct Known Subclasses
BulkWriteError, ClosedStream, ConnectionPerished, CryptError, ExtraFileChunk, FailedStringPrepValidation, FileNotFound, HandshakeError, InsufficientIterationCount, InvalidAddress, InvalidApplicationName, InvalidBulkOperation, InvalidBulkOperationType, InvalidCollectionName, InvalidCursorOperation, InvalidDatabaseName, InvalidDocument, InvalidFile, InvalidFileRevision, InvalidMinPoolSize, InvalidNonce, InvalidReadOption, InvalidReplacementDocument, InvalidServerPreference, InvalidSession, InvalidSignature, InvalidTXTRecord, InvalidTransactionOperation, InvalidURI, InvalidUpdateDocument, InvalidWriteConcern, LintError, MaxBSONSize, MaxMessageSize, MismatchedDomain, MissingFileChunk, MissingPassword, MissingResumeToken, MissingScramServerSignature, MultiIndexDrop, NeedPrimaryServer, NoSRVRecords, NoServerAvailable, OperationFailure, PoolClosedError, SessionEnded, SocketError, SocketTimeoutError, UnchangeableCollectionOption, UnexpectedChunkLength, UnexpectedResponse, UnknownPayloadType, UnsupportedFeatures, UnsupportedMessageType, UnsupportedOption
Defined Under Namespace
Modules: ChangeStreamResumable, Notable, SdamErrorDetection, WriteRetryable Classes: AuthError, BulkWriteError, ClosedStream, ConnectionCheckOutTimeout, ConnectionPerished, CredentialCheckError, CryptError, ExtraFileChunk, FailedStringPrepValidation, FileNotFound, HandshakeError, InsufficientIterationCount, InvalidAddress, InvalidApplicationName, InvalidBulkOperation, InvalidBulkOperationType, InvalidCollectionName, InvalidCursorOperation, InvalidDatabaseName, InvalidDocument, InvalidFile, InvalidFileRevision, InvalidMinPoolSize, InvalidNonce, InvalidReadOption, InvalidReplacementDocument, InvalidServerAuthHost, InvalidServerAuthResponse, InvalidServerPreference, InvalidSession, InvalidSignature, InvalidTXTRecord, InvalidTransactionOperation, InvalidURI, InvalidUpdateDocument, InvalidWriteConcern, KmsError, LintError, MaxBSONSize, MaxMessageSize, MismatchedDomain, MissingFileChunk, MissingPassword, MissingResumeToken, MissingScramServerSignature, MongocryptdSpawnError, MultiIndexDrop, NeedPrimaryServer, NoSRVRecords, NoServerAvailable, OperationFailure, Parser, PoolClosedError, RaiseOriginalError, SessionEnded, SessionsNotSupported, SocketError, SocketTimeoutError, UnchangeableCollectionOption, UnexpectedChunkLength, UnexpectedResponse, UnknownPayloadType, UnsupportedArrayFilters, UnsupportedCollation, UnsupportedFeatures, UnsupportedMessageType, UnsupportedOption
Constant Summary collapse
- CODE =
The error code field.
'code'.freeze
- ERR =
An error field, MongoDB < 2.6
'$err'.freeze
- ERROR =
An error field, MongoDB < 2.4
'err'.freeze
- ERRMSG =
The standard error message field, MongoDB 3.0+
'errmsg'.freeze
- WRITE_ERRORS =
Deprecated.
The constant for the writeErrors array.
'writeErrors'.freeze
- WRITE_CONCERN_ERROR =
Deprecated.
The constant for a write concern error.
'writeConcernError'.freeze
- WRITE_CONCERN_ERRORS =
Deprecated.
The constant for write concern errors.
'writeConcernErrors'.freeze
- UNKNOWN_ERROR =
Constant for an unknown error.
8.freeze
- BAD_VALUE =
Constant for a bad value error.
2.freeze
- CURSOR_NOT_FOUND =
Constant for a Cursor not found error.
'Cursor not found.'- UNKNOWN_TRANSACTION_COMMIT_RESULT_LABEL =
Deprecated.
Error label describing commitTransaction errors that may or may not occur again if a commit is manually retried by the user.
'UnknownTransactionCommitResult'.freeze
- TRANSIENT_TRANSACTION_ERROR_LABEL =
Deprecated.
Error label describing errors that will likely not occur if a transaction is manually retried from the start.
'TransientTransactionError'.freeze
Instance Attribute Summary
Attributes included from Notable
Instance Method Summary collapse
-
#add_label(label) ⇒ Object
private
Adds the specified label to the error instance, if the label is not already in the set of labels.
-
#change_stream_resumable? ⇒ true, false
Can the change stream on which this error occurred be resumed, provided the operation that triggered this error was a getMore?.
-
#initialize(msg = nil) ⇒ Error
constructor
A new instance of Error.
-
#label?(label) ⇒ true, false
Does the error have the given label?.
-
#labels ⇒ Array
Gets the set of labels associated with the error.
-
#write_concern_error_label?(label) ⇒ Boolean
Does the write concern error have the given label?.
-
#write_concern_error_labels ⇒ Array<String>
The set of error labels associated with the write concern error.
Methods included from Notable
Constructor Details
#initialize(msg = nil) ⇒ Error
Returns a new instance of Error.
104 105 106 107 108 |
# File 'lib/mongo/error.rb', line 104 def initialize(msg = nil) super @labels = [] @write_concern_error_labels = [] end |
Instance Method Details
#add_label(label) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Adds the specified label to the error instance, if the label is not already in the set of labels.
158 159 160 |
# File 'lib/mongo/error.rb', line 158 def add_label(label) @labels << label unless label?(label) end |
#change_stream_resumable? ⇒ true, false
Can the change stream on which this error occurred be resumed, provided the operation that triggered this error was a getMore?
86 87 88 |
# File 'lib/mongo/error.rb', line 86 def change_stream_resumable? false end |
#label?(label) ⇒ true, false
Does the error have the given label?
120 121 122 |
# File 'lib/mongo/error.rb', line 120 def label?(label) @labels.include?(label) end |
#labels ⇒ Array
Gets the set of labels associated with the error.
141 142 143 |
# File 'lib/mongo/error.rb', line 141 def labels @labels.dup end |
#write_concern_error_label?(label) ⇒ Boolean
Does the write concern error have the given label?
129 130 131 |
# File 'lib/mongo/error.rb', line 129 def write_concern_error_label?(label) @write_concern_error_labels.include?(label) end |
#write_concern_error_labels ⇒ Array<String>
The set of error labels associated with the write concern error.
148 149 150 |
# File 'lib/mongo/error.rb', line 148 def write_concern_error_labels @write_concern_error_labels.dup end |