Error handling¶
Error management¶
wreport defines its own exception hierarchy, rooted at wreport::error.
Each wreport exception has a numeric identification code:
- 
enum 
wreport::ErrorCode¶ C-style error codes used by exceptions.
Values:
- 
WR_ERR_NONE= 0¶ No error.
- 
WR_ERR_NOTFOUND= 1¶ Item not found.
- 
WR_ERR_TYPE= 2¶ Wrong variable type.
- 
WR_ERR_ALLOC= 3¶ Cannot allocate memory.
- 
WR_ERR_ODBC= 4¶ ODBC error.
- 
WR_ERR_HANDLES= 5¶ Handle management error.
- 
WR_ERR_TOOLONG= 6¶ Buffer is too short to fit data.
- 
WR_ERR_SYSTEM= 7¶ Error reported by the system.
- 
WR_ERR_CONSISTENCY= 8¶ Consistency check failed.
- 
WR_ERR_PARSE= 9¶ Parse error.
- 
WR_ERR_WRITE= 10¶ Write error.
- 
WR_ERR_REGEX= 11¶ Regular expression error.
- 
WR_ERR_UNIMPLEMENTED= 12¶ Feature not implemented.
- 
WR_ERR_DOMAIN= 13¶ Value outside acceptable domain.
- 
 
The exceptions are:
- 
class 
error: public std::exception¶ Base class for DB-All.e exceptions.
Subclassed by wreport::errors::StringBase< WR_ERR_CONSISTENCY >, wreport::errors::StringBase< WR_ERR_DOMAIN >, wreport::errors::StringBase< WR_ERR_HANDLES >, wreport::errors::StringBase< WR_ERR_NOTFOUND >, wreport::errors::StringBase< WR_ERR_PARSE >, wreport::errors::StringBase< WR_ERR_REGEX >, wreport::errors::StringBase< WR_ERR_SYSTEM >, wreport::errors::StringBase< WR_ERR_TOOLONG >, wreport::errors::StringBase< WR_ERR_TYPE >, wreport::errors::StringBase< WR_ERR_UNIMPLEMENTED >, wreport::error_alloc, wreport::errors::StringBase< ERROR_CODE >
- 
class 
error_notfound: public wreport::errors::StringBase<WR_ERR_NOTFOUND>¶ Reports that a search-like function could not find what was requested.
- 
class 
error_type: public wreport::errors::StringBase<WR_ERR_TYPE>¶ For functions handling data with multiple types, reports a mismatch between the type requested and the type found.
- 
class 
error_handles: public wreport::errors::StringBase<WR_ERR_HANDLES>¶ For functions working with handles, reports a problem with handling handles, such as impossibility to allocate a new one, or an invalid handle being passed to the function.
- 
class 
error_toolong: public wreport::errors::StringBase<WR_ERR_TOOLONG>¶ Report an error with a buffer being to short for the data it needs to fit.
- 
class 
error_system: public wreport::errors::StringBase<WR_ERR_SYSTEM>¶ Report a system error message.
The message description will be looked up using the current value of errno.
- 
class 
error_consistency: public wreport::errors::StringBase<WR_ERR_CONSISTENCY>¶ Report an error when a consistency check failed.
- 
class 
error_parse: public wreport::errors::StringBase<WR_ERR_PARSE>¶ Report an error when parsing informations.
- 
class 
error_regexp: public wreport::errors::StringBase<WR_ERR_REGEX>¶ Report an error while handling regular expressions.
- 
class 
error_unimplemented: public wreport::errors::StringBase<WR_ERR_UNIMPLEMENTED>¶ Reports that a feature is still not implemented.
- 
class 
error_domain: public wreport::errors::StringBase<WR_ERR_DOMAIN>¶ Report that a parameter is outside the acceptable domain.