when assertions fail throw an exception instead of aborting
parent
6acbc24245
commit
e979447de0
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
include(cmake/color.cmake)
|
include(cmake/color.cmake)
|
||||||
set(BLT_VERSION 0.18.17)
|
set(BLT_VERSION 0.18.18)
|
||||||
set(BLT_TEST_VERSION 0.0.1)
|
set(BLT_TEST_VERSION 0.0.1)
|
||||||
|
|
||||||
set(BLT_TARGET BLT)
|
set(BLT_TARGET BLT)
|
||||||
|
|
|
@ -35,7 +35,6 @@ namespace blt
|
||||||
#define BLT_ASSERT(expr) do { \
|
#define BLT_ASSERT(expr) do { \
|
||||||
if (!static_cast<bool>(expr)) { \
|
if (!static_cast<bool>(expr)) { \
|
||||||
blt::b_assert_failed(#expr, nullptr, __FILE__, __LINE__); \
|
blt::b_assert_failed(#expr, nullptr, __FILE__, __LINE__); \
|
||||||
std::exit(EXIT_FAILURE); \
|
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
@ -46,7 +45,6 @@ namespace blt
|
||||||
#define BLT_ASSERT_MSG(expr, fail_message) do { \
|
#define BLT_ASSERT_MSG(expr, fail_message) do { \
|
||||||
if (!static_cast<bool>(expr)) { \
|
if (!static_cast<bool>(expr)) { \
|
||||||
blt::b_assert_failed(#expr, fail_message, __FILE__, __LINE__); \
|
blt::b_assert_failed(#expr, fail_message, __FILE__, __LINE__); \
|
||||||
std::exit(EXIT_FAILURE); \
|
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
|
@ -89,11 +89,15 @@ namespace blt {
|
||||||
printStacktrace(messages, size, path, line);
|
printStacktrace(messages, size, path, line);
|
||||||
|
|
||||||
BLT_FREE_STACK_TRACE();
|
BLT_FREE_STACK_TRACE();
|
||||||
#endif
|
#else
|
||||||
(void) expression;
|
(void) expression;
|
||||||
(void) msg;
|
(void) msg;
|
||||||
(void) path;
|
(void) path;
|
||||||
(void) line;
|
(void) line;
|
||||||
|
#endif
|
||||||
|
if (msg != nullptr)
|
||||||
|
throw abort_exception(msg);
|
||||||
|
throw abort_exception(expression);
|
||||||
}
|
}
|
||||||
|
|
||||||
void printStacktrace(char** messages, int size, const char* path, int line)
|
void printStacktrace(char** messages, int size, const char* path, int line)
|
||||||
|
|
Loading…
Reference in New Issue