From ba433be886d048719895a83450f0ccf2561db53f Mon Sep 17 00:00:00 2001 From: Dorota Kapturkiewicz Date: Wed, 15 Jul 2015 04:01:38 -0700 Subject: [PATCH] [ReactNative] Make ErrorCookie work. --- .../Initialization/ExceptionsManager.js | 7 +++++-- React/Modules/RCTExceptionsManager.m | 8 +++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js b/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js index ff2383a4c..70683ee49 100644 --- a/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js +++ b/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js @@ -25,13 +25,16 @@ type Exception = { message: string; } +var exceptionID = 0; + function reportException(e: Exception, isFatal: bool, stack?: any) { + var currentExceptionID = ++exceptionID; if (RCTExceptionsManager) { if (!stack) { stack = parseErrorStack(e); } if (isFatal) { - RCTExceptionsManager.reportFatalException(e.message, stack); + RCTExceptionsManager.reportFatalException(e.message, stack, currentExceptionID); } else { RCTExceptionsManager.reportSoftException(e.message, stack); } @@ -39,7 +42,7 @@ function reportException(e: Exception, isFatal: bool, stack?: any) { (sourceMapPromise = sourceMapPromise || loadSourceMap()) .then(map => { var prettyStack = parseErrorStack(e, map); - RCTExceptionsManager.updateExceptionMessage(e.message, prettyStack); + RCTExceptionsManager.updateExceptionMessage(e.message, prettyStack, currentExceptionID); }) .catch(error => { // This can happen in a variety of normal situations, such as diff --git a/React/Modules/RCTExceptionsManager.m b/React/Modules/RCTExceptionsManager.m index 2894fac2c..b353420f8 100644 --- a/React/Modules/RCTExceptionsManager.m +++ b/React/Modules/RCTExceptionsManager.m @@ -48,7 +48,8 @@ RCT_EXPORT_METHOD(reportSoftException:(NSString *)message } RCT_EXPORT_METHOD(reportFatalException:(NSString *)message - stack:(NSArray *)stack) + stack:(NSArray *)stack + exceptionId:(__unused NSNumber *)exceptionId) { if (_delegate) { [_delegate handleFatalJSExceptionWithMessage:message stack:stack]; @@ -86,7 +87,8 @@ RCT_EXPORT_METHOD(reportFatalException:(NSString *)message } RCT_EXPORT_METHOD(updateExceptionMessage:(NSString *)message - stack:(NSArray *)stack) + stack:(NSArray *)stack + exceptionId:(__unused NSNumber *)exceptionId) { if (_delegate) { [_delegate updateJSExceptionWithMessage:message stack:stack]; @@ -100,6 +102,6 @@ RCT_EXPORT_METHOD(updateExceptionMessage:(NSString *)message RCT_EXPORT_METHOD(reportUnhandledException:(NSString *)message stack:(NSArray *)stack) { - [self reportFatalException:message stack:stack]; + [self reportFatalException:message stack:stack exceptionId:nil]; } @end