xapian-core
1.4.27
|
All exceptions thrown by Xapian are subclasses of Xapian::Error. More...
#include <error.h>
Public Member Functions | |
const char * | get_type () const |
The type of this error (e.g. "DocNotFoundError".) More... | |
const std::string & | get_msg () const |
Message giving details of the error, intended for human consumption. More... | |
const std::string & | get_context () const |
Optional context information. More... | |
const char * | get_error_string () const |
Returns any system error string associated with this exception. More... | |
std::string | get_description () const |
Return a string describing this object. More... | |
Private Member Functions | |
void | operator= (const Error &o) |
Don't allow assignment of the base class. More... | |
Error (const std::string &msg_, const std::string &context_, const char *type_, const char *error_string_) | |
Constructor for use by constructors of derived classes. More... | |
Error (const std::string &msg_, const std::string &context_, const char *type_, int errno_) | |
Constructor for use by constructors of derived classes. More... | |
Private Attributes | |
std::string | msg |
Message giving details of the error, intended for human consumption. More... | |
std::string | context |
Optional context information. More... | |
std::string | error_string |
The error string derived from my_errno. More... | |
const char * | type |
The type of this error (e.g. DocNotFoundError.) More... | |
int | my_errno |
Optional value of 'errno' associated with this error. More... | |
bool | already_handled |
True if this error has already been passed to an ErrorHandler. More... | |
Friends | |
class | ErrorHandler |
All exceptions thrown by Xapian are subclasses of Xapian::Error.
This class can not be instantiated directly - instead a subclass should be used.
|
private |
Constructor for use by constructors of derived classes.
Definition at line 41 of file error.cc.
References error_string.
|
inlineprivate |
|
inline |
Optional context information.
This context is intended for use by Xapian::ErrorHandler (for example so it can know which remote server is unreliable and report the problem and remove that server from those being searched). But it's typically a plain-text string, and so also fit for human consumption.
Definition at line 133 of file error.h.
Referenced by serialise_error().
string Xapian::Error::get_description | ( | ) | const |
Return a string describing this object.
Definition at line 93 of file error.cc.
References context, description_append(), get_error_string(), get_type(), and msg.
Referenced by GlassDatabase::apply(), ChertDatabase::apply(), check_chert_table(), check_db_dir(), DEFINE_TESTCASE(), RemoteTcpServer::handle_one_connection(), main(), TestRunner::run_tests(), test_driver::runtest(), show_db_stats(), test_ioblock1(), and test_serialiseerror1().
const char * Xapian::Error::get_error_string | ( | ) | const |
Returns any system error string associated with this exception.
The system error string may come from errno, h_errno (on UNIX), or GetLastError() (on MS Windows). If there is no associated system error string, NULL is returned.
Definition at line 50 of file error.cc.
References errno_to_string(), error_string, my_errno, and Xapian::Internal::str().
Referenced by DEFINE_TESTCASE(), get_description(), RemoteTcpClient::open_socket(), test_driver::runtest(), serialise_error(), test_ioblock1(), and test_serialiseerror1().
|
inline |
Message giving details of the error, intended for human consumption.
Definition at line 122 of file error.h.
Referenced by DEFINE_TESTCASE(), main(), GlassDatabase::modifications_failed(), ChertDatabase::modifications_failed(), RemoteTcpClient::open_socket(), serialise_error(), show_db_stats(), test_weight_class(), test_weight_class_no_params(), and Xapian::DatabaseMaster::write_changesets_to_fd().
|
inline |
The type of this error (e.g. "DocNotFoundError".)
Definition at line 117 of file error.h.
Referenced by get_description(), test_driver::runtest(), and serialise_error().
|
private |
Don't allow assignment of the base class.
|
friend |
|
private |
True if this error has already been passed to an ErrorHandler.
Definition at line 86 of file error.h.
Referenced by Xapian::ErrorHandler::operator()().
|
private |
Optional context information.
This context is intended for use by Xapian::ErrorHandler (for example so it can know which remote server is unreliable and report the problem and remove that server from those being searched). But it's typically a plain-text string, and so also fit for human consumption.
Definition at line 57 of file error.h.
Referenced by get_description().
|
mutableprivate |
The error string derived from my_errno.
This string is generated from my_errno lazily.
Definition at line 63 of file error.h.
Referenced by Error(), and get_error_string().
|
private |
Message giving details of the error, intended for human consumption.
Definition at line 48 of file error.h.
Referenced by get_description().
|
private |
Optional value of 'errno' associated with this error.
If no value is associated, this member variable will be 0.
On UNIX, if this value is < 0, it's an error code returned from getaddrinfo() (negated if such error codes are positive).
On Windows, if this value is < 0, it's a negated Windows error code (as given by GetLastError()), while if it is >= WSABASEERR then it is a WinSock error code (as given by WSAGetLastError()). Prior to Xapian 1.2.20 and 1.3.3, WSAGetLastError() codes were also negated.
NB We don't just call this member "errno" to avoid problems on platforms where errno is a preprocessor macro.
Definition at line 83 of file error.h.
Referenced by get_error_string().
|
private |
The type of this error (e.g. DocNotFoundError.)