diff options
Diffstat (limited to 'al/eax/utils.cpp')
-rw-r--r-- | al/eax/utils.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/al/eax/utils.cpp b/al/eax/utils.cpp new file mode 100644 index 00000000..9fa2871d --- /dev/null +++ b/al/eax/utils.cpp @@ -0,0 +1,36 @@ +#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); + + if (message) + { + ERR("%s\n", message); + } + + try + { + std::rethrow_exception(exception_ptr); + } + catch (const std::exception& ex) + { + const auto ex_message = ex.what(); + ERR("%s\n", ex_message); + } + catch (...) + { + ERR("%s\n", "Generic exception."); + } +} |