mirror of https://github.com/axmolengine/axmol.git
37 lines
585 B
C++
37 lines
585 B
C++
|
#include "config.h"
|
||
|
|
||
|
#include "eax_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.");
|
||
|
}
|
||
|
}
|