Qore Programming Language
0.9.3.1
|
container for holding Qore-language exception information and also for registering a "thread_exit" call More...
#include <ExceptionSink.h>
Public Member Methods | |
DLLEXPORT | ExceptionSink () |
creates an empty ExceptionSink object | |
DLLEXPORT | ~ExceptionSink () |
calls ExceptionSink::defaultExceptionHandler() on all exceptions still present in the object and then deletes the exception list | |
DLLEXPORT int | appendLastDescription (const char *fmt,...) |
appends a formatted string to the top exception description if the desc value is a string More... | |
DLLEXPORT void | assimilate (ExceptionSink *xs) |
assimilates all entries of the "xs" argument by appending them to the internal list and deletes the "xs" argument | |
DLLEXPORT void | assimilate (ExceptionSink &xs) |
assimilates all entries of the "xs" argument by appending them to the internal list and clears the "xs" argument | |
DLLEXPORT void | clear () |
deletes the exception list immediately | |
DLLEXPORT const QoreValue | getExceptionArg () |
returns the argument of the top exception | |
DLLEXPORT const QoreValue | getExceptionDesc () |
returns the description of the top exception | |
DLLEXPORT const QoreValue | getExceptionErr () |
returns the error of the top exception | |
DLLEXPORT void | handleExceptions () |
calls ExceptionSink::defaultExceptionHandler() on all exceptions still present in the object and then deletes the exception list | |
DLLEXPORT void | handleWarnings () |
calls ExceptionSink::defaultWarningHandler() on all exceptions still present in the object and then deletes the exception list | |
DLLEXPORT bool | isEvent () const |
returns true if at least one exception is present or thread_exit has been triggered | |
DLLEXPORT bool | isException () const |
returns true if at least one exception is present | |
DLLEXPORT bool | isThreadExit () const |
returns true if thread_exit has been triggered | |
DLLEXPORT | operator bool () const |
returns true if at least one exception is present or thread_exit has been triggered More... | |
DLLEXPORT void | outOfMemory () |
intended to be used to handle out of memory errors FIXME: not yet fully implemented | |
DLLEXPORT AbstractQoreNode * | raiseErrnoException (const char *err, int en, const char *fmt,...) |
appends a Qore-language exception to the list and appends the result of strerror(errno) to the description More... | |
DLLEXPORT AbstractQoreNode * | raiseErrnoException (const char *err, int en, QoreStringNode *desc) |
appends a Qore-language exception to the list and appends the result of strerror(errno) to the description More... | |
DLLEXPORT AbstractQoreNode * | raiseException (const char *err, const char *fmt,...) |
appends a Qore-language exception to the list More... | |
DLLEXPORT AbstractQoreNode * | raiseException (const char *err, QoreStringNode *desc) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference More... | |
DLLEXPORT AbstractQoreNode * | raiseException (QoreStringNode *err, QoreStringNode *desc) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference More... | |
DLLEXPORT void | raiseException (const QoreProgramLocation &loc, const char *err, QoreValue arg, QoreValue desc) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference More... | |
DLLEXPORT void | raiseException (const QoreProgramLocation &loc, const char *err, QoreValue arg, const char *fmt,...) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference More... | |
DLLEXPORT AbstractQoreNode * | raiseExceptionArg (const char *err, QoreValue arg, const char *fmt,...) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference count of 'arg') More... | |
DLLEXPORT AbstractQoreNode * | raiseExceptionArg (const char *err, QoreValue arg, QoreStringNode *desc) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc') More... | |
DLLEXPORT AbstractQoreNode * | raiseExceptionArg (const char *err, QoreValue arg, QoreStringNode *desc, const QoreCallStack &stack) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc') More... | |
DLLEXPORT AbstractQoreNode * | raiseExceptionArg (const QoreProgramLocation &loc, const char *err, QoreValue arg, QoreStringNode *desc, const QoreCallStack &stack) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc') More... | |
DLLEXPORT AbstractQoreNode * | raiseExceptionArg (const QoreProgramLocation &loc, const char *err, QoreValue arg, QoreStringNode *desc) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc') More... | |
DLLEXPORT void | raiseThreadExit () |
sets the "thread_exit" flag; will cause the current thread to terminate | |
container for holding Qore-language exception information and also for registering a "thread_exit" call
DLLEXPORT int ExceptionSink::appendLastDescription | ( | const char * | fmt, |
... | |||
) |
appends a formatted string to the top exception description if the desc value is a string
DLLEXPORT ExceptionSink::operator bool | ( | ) | const |
returns true if at least one exception is present or thread_exit has been triggered
Intended as a alternative to isEvent()
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseErrnoException | ( | const char * | err, |
int | en, | ||
const char * | fmt, | ||
... | |||
) |
appends a Qore-language exception to the list and appends the result of strerror(errno) to the description
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
en | the error number (normally "errno") |
fmt | the format string for the description for the exception |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseErrnoException | ( | const char * | err, |
int | en, | ||
QoreStringNode * | desc | ||
) |
appends a Qore-language exception to the list and appends the result of strerror(errno) to the description
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
en | the error number (normally "errno") |
desc | the error description (the ExceptionSink object takes over ownership of the reference count) |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseException | ( | const char * | err, |
const char * | fmt, | ||
... | |||
) |
appends a Qore-language exception to the list
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
fmt | the format string for the description for the exception |
Referenced by StreamReader::peekCheck().
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseException | ( | const char * | err, |
QoreStringNode * | desc | ||
) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseException | ( | QoreStringNode * | err, |
QoreStringNode * | desc | ||
) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string for the exception; the ExceptionSink object takes ownership of the reference count |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |
DLLEXPORT void ExceptionSink::raiseException | ( | const QoreProgramLocation & | loc, |
const char * | err, | ||
QoreValue | arg, | ||
QoreValue | desc | ||
) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference
loc | the source location for the exception |
err | the exception code string for the exception |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |
DLLEXPORT void ExceptionSink::raiseException | ( | const QoreProgramLocation & | loc, |
const char * | err, | ||
QoreValue | arg, | ||
const char * | fmt, | ||
... | |||
) |
appends a Qore-language exception to the list; takes owenership of the "desc" argument reference
loc | the source location for the exception |
err | the exception code string for the exception |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
fmt | the format string for the description for the exception |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseExceptionArg | ( | const char * | err, |
QoreValue | arg, | ||
const char * | fmt, | ||
... | |||
) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference count of 'arg')
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
fmt | the format string for the description for the exception |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseExceptionArg | ( | const char * | err, |
QoreValue | arg, | ||
QoreStringNode * | desc | ||
) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc')
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseExceptionArg | ( | const char * | err, |
QoreValue | arg, | ||
QoreStringNode * | desc, | ||
const QoreCallStack & | stack | ||
) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc')
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
err | the exception code string |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |
stack | a call stack to prepend to the Qore call stack |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseExceptionArg | ( | const QoreProgramLocation & | loc, |
const char * | err, | ||
QoreValue | arg, | ||
QoreStringNode * | desc, | ||
const QoreCallStack & | stack | ||
) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc')
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
loc | the source location for the exception |
err | the exception code string |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |
stack | a call stack to prepend to the Qore call stack |
DLLEXPORT AbstractQoreNode* ExceptionSink::raiseExceptionArg | ( | const QoreProgramLocation & | loc, |
const char * | err, | ||
QoreValue | arg, | ||
QoreStringNode * | desc | ||
) |
appends a Qore-language exception to the list, and sets the 'arg' member (this object takes over the reference counts of 'arg' and 'desc')
The AbstractQoreNode pointer returned is always 0; used to simplify error handling code.
loc | the source location for the exception |
err | the exception code string |
arg | the 'arg' member of the Qore-language exception object; will be dereferenced when the QoreException object is destroyed |
desc | the description string for the exception; the ExceptionSink object takes ownership of the reference count |