diff --git a/deps/ox/src/ox/std/new.hpp b/deps/ox/src/ox/std/new.hpp index 369311f8..a2435b8e 100644 --- a/deps/ox/src/ox/std/new.hpp +++ b/deps/ox/src/ox/std/new.hpp @@ -41,8 +41,11 @@ constexpr T *make(Args &&...args) noexcept { #ifdef __cpp_exceptions try { return new T(ox::forward(args)...); + } catch (std::exception const&ex) { + oxPanic(OxError(1, ex.what()), ex.what()); + return nullptr; } catch (...) { - oxPanic(OxError(1, "Allocation or constructor failed"), "Allocation or constructor failed"); + oxPanic(OxError(2, "Allocation or constructor failed"), "Allocation or constructor failed"); return nullptr; } #else