camel-imapx-exception

camel-imapx-exception

Synopsis

struct              CamelExceptionEnv;
#define             CAMEL_TRY
#define             CAMEL_IGNORE
#define             CAMEL_CATCH                         (x)
#define             CAMEL_DONE
#define             CAMEL_DROP

Description

Details

struct CamelExceptionEnv

struct CamelExceptionEnv {
	struct _CamelExceptionEnv *parent;
	CamelException *ex;
	jmp_buf env;
};

CAMEL_TRY

#define CAMEL_TRY { struct _CamelExceptionEnv __env; __KOLAB_camel_exception_try(&__env); if (setjmp(__env.env) == 0)

CAMEL_IGNORE

#define CAMEL_IGNORE __KOLAB_camel_exception_done(&__env); }

CAMEL_CATCH()

#define CAMEL_CATCH(x) { CamelException *x; x=__env.ex; if (x != NULL)

CAMEL_DONE

#define CAMEL_DONE } __KOLAB_camel_exception_done(&__env); }

CAMEL_DROP

#define CAMEL_DROP() __KOLAB_camel_exception_drop(&__env)