diff --git a/include/tvm/runtime/logging.h b/include/tvm/runtime/logging.h index c6e77b28fc..708f4bcaa9 100644 --- a/include/tvm/runtime/logging.h +++ b/include/tvm/runtime/logging.h @@ -353,7 +353,10 @@ class LogFatal { #pragma disagnostic push #pragma warning(disable : 4722) #endif - [[noreturn]] ~LogFatal() TVM_THROW_EXCEPTION { GetEntry().Finalize(); } + [[noreturn]] ~LogFatal() TVM_THROW_EXCEPTION { + GetEntry().Finalize(); + throw; + } #ifdef _MSC_VER #pragma disagnostic pop #endif @@ -366,7 +369,7 @@ class LogFatal { this->file_ = file; this->lineno_ = lineno; } - [[noreturn]] TVM_NO_INLINE dmlc::Error Finalize() { + [[noreturn]] TVM_NO_INLINE dmlc::Error Finalize() TVM_THROW_EXCEPTION { InternalError error(file_, lineno_, stream_.str()); #if DMLC_LOG_BEFORE_THROW std::cerr << error.what() << std::endl;