File tree Expand file tree Collapse file tree 3 files changed +8
-4
lines changed Expand file tree Collapse file tree 3 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -77,12 +77,16 @@ extern int IsInAssert;
77
77
78
78
#ifdef DBG
79
79
#define AssertOrFailFast (x ) Assert(x)
80
+ #define AssertOrFailFastHR (x, hr ) Assert(x)
80
81
#define AssertOrFailFastMsg (x, msg ) AssertMsg(x, msg)
82
+ #define AssertOrFailFastMsgHR (x, msg ) AssertOrFailFastHR(x, hr)
81
83
#define AnalysisAssertOrFailFast (x ) AnalysisAssert(x)
82
84
#define AnalysisAssertOrFailFastMsg (x, msg ) AnalysisAssertMsg(x, msg)
83
85
#else
86
+ #define AssertOrFailFastHR (x, hr ) do { if (!(x)) { Js::Throw::FatalInternalError (hr); } } while (false )
84
87
#define AssertOrFailFast (x ) do { if (!(x)) { Js::Throw::FatalInternalError (); } } while (false )
85
88
#define AssertOrFailFastMsg (x, msg ) AssertOrFailFast(x)
89
+ #define AssertOrFailFastMsgHR (x, msg ) AssertOrFailFastHR(x, hr)
86
90
#define AnalysisAssertOrFailFast (x ) AssertOrFailFast(x)
87
91
#define AnalysisAssertOrFailFastMsg (x, msg ) AssertOrFailFast(x)
88
92
#endif
Original file line number Diff line number Diff line change @@ -66,10 +66,10 @@ namespace Js {
66
66
#if defined(GENERATE_DUMP) && defined(STACK_BACK_TRACE)
67
67
THREAD_LOCAL StackBackTrace * Throw::stackBackTrace = nullptr ;
68
68
#endif
69
- void Throw::FatalInternalError ()
69
+ void Throw::FatalInternalError (HRESULT hr )
70
70
{
71
71
int scenario = 2 ;
72
- ReportFatalException (NULL , E_FAIL , Fatal_Internal_Error, scenario);
72
+ ReportFatalException (NULL , hr , Fatal_Internal_Error, scenario);
73
73
}
74
74
75
75
void Throw::FatalInternalErrorEx (int scenario)
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ namespace Js {
19
19
static void __declspec (noreturn) StackOverflow(ScriptContext *scriptContext, PVOID returnAddress);
20
20
static void __declspec (noreturn) NotImplemented();
21
21
static void __declspec (noreturn) InternalError();
22
- static void __declspec (noreturn) FatalInternalError();
22
+ static void __declspec (noreturn) FatalInternalError(HRESULT hr = E_FAIL );
23
23
static void __declspec (noreturn) FatalInternalErrorEx(int scenario);
24
24
static void __declspec (noreturn) FatalInternalGlobalizationError();
25
25
@@ -163,7 +163,7 @@ namespace Js {
163
163
else if (FAILED(hr)) \
164
164
{ \
165
165
/* Intended to be the inverse of E_FAIL in CATCH_UNHANDLED_EXCEPTION */ \
166
- AssertOrFailFast (false ); \
166
+ AssertOrFailFastHR (false , hr ); \
167
167
}
168
168
169
169
#define CATCH_UNHANDLED_EXCEPTION (hr ) \
You can’t perform that action at this time.
0 commit comments