This reference page is linked to from the following overview topics: Displaying Messages and Progress Notifications.
Holds information about an error.
Typically heap allocated.
Objects of this class are usually created on the heap and used in exception handling in the following way:
try { MyFunction(); } catch( Error *pError ) { // report the error to the user, and delete the object. pError->Report(); ... do something here to handle the problem }
In MyFunction somewhere you can write:
... if ( pPointer == 0 ) throw new Error( "No object specified" ); ...
You should use the MB_ERROR macro to throw Errors:
MB_ERROR( "No pointer specified in step %d", iStep );
See the macro MB_ERROR for more details.
#include <error.h>
Public Types |
|
enum | Code
{ codeOk, codeOutOfMemory, codeHardwareFailure, codeOutOfVideoMemory, codeUnspecified, codeUserSkip, codeUserIgnore, codeUserCancel, codeUnknown = 0xffffffff } |
Public Member Functions |
|
Error (const QString &sMessage, Code eCode=codeUnspecified, const char *pFunction=0, const char *pSourceFileName=0, unsigned int iLine=0) | |
Constructor. |
|
Error * | Format (const QString &sMessage) |
Sets the message in the error. |
|
enum Code | Code (void) const |
Returns the error code associated with the
error. |
|
const QString & | Message (void) const |
Returns the error message associated with
the error. |
|
void | Report (const QString &sPre="") const |
Reports the error to the user in a message
box and deletes the Error object.
|
|
void | Discard (void) const |
Discards the error message and deletes the
object (except s_cBadAlloc errors, which should never be deleted.)
|
|
Static Public Member Functions |
|
static void | ThrowBadAlloc (void) |
Throws a static bad alloc exception. (No
memory allocation is required to report allocation problems.)
|
|
Public Attributes |
|
enum mudbox::Error::Code | m_eCode |
Static Public Attributes |
|
static Error | s_cBadAlloc |
Protected Attributes |
|
QString | m_sErrorMessage |
bool | m_bOnHeap |
const char * | m_pFunction |
const char * | m_pSource |
unsigned int | m_iLine |
enum Code |
codeOk | |
codeOutOfMemory | |
codeHardwareFailure | |
codeOutOfVideoMemory | |
codeUnspecified | |
codeUserSkip | |
codeUserIgnore | |
codeUserCancel | |
codeUnknown |
Definition at line 57 of file error.h.
{ codeOk, codeOutOfMemory, codeHardwareFailure, codeOutOfVideoMemory, codeUnspecified, codeUserSkip, codeUserIgnore, codeUserCancel, codeUnknown = 0xffffffff } m_eCode;
Error | ( | const QString & | sMessage, |
Code | eCode =
codeUnspecified , |
||
const char * | pFunction = 0 , |
||
const char * | pSourceFileName =
0 , |
||
unsigned int | iLine = 0 |
||
) |
Constructor.
How this is usually used:
throw new Error( "Some message" );
[in] | sMessage | Message that explains the error |
[in] | eCode | Error code (optional) |
[in] | pFunction | Name of the function where the error happens (optional) |
[in] | pSourceFileName | Name of the source files where the error happens (optional) |
[in] | iLine | Line number in the source file where the error happens (optional) |
Error* Format | ( | const QString & | sMessage | ) |
Returns the error code associated with the error.
const QString& Message | ( | void | ) | const |
Returns the error message associated with the error.
void Report | ( | const QString & | sPre = "" |
) | const |
Reports the error to the user in a message box and deletes the Error object.
Errors are written into the log file, and also reported in a message box that the user must dismiss. If you specify a pretext string, it will be displayed first. After reporting is complete, the Error object will be deleted in this call (except s_cBadAlloc errors, which don't reside in deletable space.)
[in] | sPre | Optional string describing the pretext of the error |
void Discard | ( | void | ) | const |
Discards the error message and deletes the object (except s_cBadAlloc errors, which should never be deleted.)
static void ThrowBadAlloc | ( | void | ) | [inline, static] |
Throws a static bad alloc exception. (No memory allocation is required to report allocation problems.)
Definition at line 112 of file error.h.
{ throw &s_cBadAlloc; };
QString m_sErrorMessage
[protected] |
bool m_bOnHeap
[protected] |
const char* m_pFunction
[protected] |
const char * m_pSource
[protected] |
unsigned int m_iLine
[protected] |
Error s_cBadAlloc
[static] |