diff options
author | Determinant <ted.sybil@gmail.com> | 2019-06-21 17:54:32 -0400 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2019-06-21 17:54:32 -0400 |
commit | 2c159f5a2d5fa34de4040fd262754c56b6decbbd (patch) | |
tree | 72d45e38352f84d0d27cfbd36c06603045ab57b5 /include/salticidae/util.h | |
parent | ff904b23147e72db4f7f77f8269242d9a5a0859e (diff) |
adjust C API
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 |