MongoDB C++ Driver
legacy-1.1.2
|
Status represents an error state or the absence thereof. More...
#include <status.h>
Public Member Functions | |
Status (ErrorCodes::Error code, const std::string &reason, int location=0) | |
Builds an error status given the error code, a textual description of what caused the error, and a unique position in the where the error occurred (similar to an assert number) | |
bool | compare (const Status &other) const |
Returns true if 'other's error code and location are equal/different to this instance's. More... | |
bool | compareCode (const ErrorCodes::Error other) const |
Returns true if 'other's error code is equal/different to this instance's. More... | |
Status represents an error state or the absence thereof.
A Status uses the standardized error codes – from file 'error_codes.h' – to determine an error's cause. It further clarifies the error with a textual description. Optionally, a Status may also have an error location number, which should be a unique, grep-able point in the code base (including assert numbers).
Example usage:
Status sumAB(int a, int b, int* c) { if (overflowIfSum(a,b)) { return Status(ErrorCodes::ERROR_OVERFLOW, "overflow in sumAB", 16494); }
*c = a+b; return Status::OK(); }
TODO: expand base/error_codes.h to capture common errors in current code TODO: generate base/error_codes.h out of a description file TODO: check 'location' duplicates against assert numbers
bool mongo::Status::compare | ( | const Status & | other | ) | const |
Returns true if 'other's error code and location are equal/different to this instance's.
Otherwise returns false.
bool mongo::Status::compareCode | ( | const ErrorCodes::Error | other | ) | const |
Returns true if 'other's error code is equal/different to this instance's.
Otherwise returns false.