diff options
Diffstat (limited to 'al/eax/utils.cpp')
-rw-r--r-- | al/eax/utils.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/al/eax/utils.cpp b/al/eax/utils.cpp new file mode 100644 index 00000000..b3ed6ca1 --- /dev/null +++ b/al/eax/utils.cpp @@ -0,0 +1,26 @@ +#include "config.h" + +#include "utils.h" + +#include <cassert> +#include <exception> + +#include "core/logging.h" + + +void eax_log_exception(const char *message) noexcept +{ + const auto exception_ptr = std::current_exception(); + assert(exception_ptr); + + try { + std::rethrow_exception(exception_ptr); + } + catch(const std::exception& ex) { + const auto ex_message = ex.what(); + ERR("%s %s\n", message ? message : "", ex_message); + } + catch(...) { + ERR("%s %s\n", message ? message : "", "Generic exception."); + } +} |