diff options
Diffstat (limited to 'include/salticidae/util.h')
-rw-r--r-- | include/salticidae/util.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/salticidae/util.h b/include/salticidae/util.h index 9a57ae8..9102842 100644 --- a/include/salticidae/util.h +++ b/include/salticidae/util.h @@ -43,6 +43,14 @@ SalticidaeCError salticidae_cerror_normal(); SalticidaeCError salticidae_cerror_unknown(); const char *salticidae_strerror(int code); +#define SALTICIDAE_CERROR_TRY(cerror) try { (*(cerror)) = salticidae_cerror_normal(); +#define SALTICIDAE_CERROR_CATCH(cerror) \ + } catch (const SalticidaeError &err) { \ + *cerror = err.get_cerr(); \ + } catch (const std::exception &err) { \ + *cerror = salticidae_cerror_unknown(); \ + } + #ifdef __cplusplus } #endif |