![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
enum ExceptionId; struct CamelException; #define CAMEL_EXCEPTION_INITIALISER CamelException * camel_exception_new (void); void camel_exception_free (CamelException *ex); void camel_exception_init (CamelException *ex); void camel_exception_clear (CamelException *ex); void camel_exception_set (CamelException *ex, ExceptionId id, const char *desc); void camel_exception_setv (CamelException *ex, ExceptionId id, const char *format, ...); void camel_exception_xfer (CamelException *ex_dst, CamelException *ex_src); ExceptionId camel_exception_get_id (CamelException *ex); const char * camel_exception_get_description (CamelException *ex); #define camel_exception_is_set (ex)
struct CamelException { /* do not access the fields directly */ ExceptionId id; char *desc; };
CamelException * camel_exception_new (void);
Create and returns a new exception object.
Returns : |
the newly allocated exception object |
void camel_exception_free (CamelException *ex);
Free an exception object. If the exception is NULL
, nothing is
done, the routine simply returns.
|
a CamelException |
void camel_exception_init (CamelException *ex);
Init an exception. This routine is mainly useful when using a statically allocated exception.
|
a CamelException |
void camel_exception_clear (CamelException *ex);
Clear an exception, that is, set the exception ID to
CAMEL_EXCEPTION_NONE and free the description text. If the
exception is NULL
, this funtion just returns.
|
a CamelException |
void camel_exception_set (CamelException *ex, ExceptionId id, const char *desc);
Set the value of an exception. The exception id is a unique number representing the exception. The textual description is a small text explaining what happened and provoked the exception.
When ex
is NULL
, nothing is done, this routine
simply returns.
|
a CamelException |
|
exception id |
|
textual description of the exception |
void camel_exception_setv (CamelException *ex, ExceptionId id, const char *format, ...);
Set the value of an exception. The exception id is a unique number representing the exception. The textual description is a small text explaining what happened and provoked the exception. In this version, the string is created from the format string and the variable argument list.
It is safe to say: camel_exception_setv (ex, ..., camel_exception_get_description (ex), ...);
When ex
is NULL
, nothing is done, this routine
simply returns.
|
a CamelException |
|
exception id |
|
format of the description string. The format string is
used as in printf() .
|
|
void camel_exception_xfer (CamelException *ex_dst, CamelException *ex_src);
Transfer the content of an exception from an exception object to another. The destination exception receives the id and the description text of the source exception.
|
Destination exception object |
|
Source exception object |
ExceptionId camel_exception_get_id (CamelException *ex);
Get the id of an exception.
|
a CamelException |
Returns : |
the exception id (CAMEL_EXCEPTION_NONE will be returned if
ex is NULL or unset)
|
const char * camel_exception_get_description (CamelException *ex);
Get the exception description text.
|
a CamelException |
Returns : |
the exception description text (NULL will be returned if
ex is NULL or unset)
|