[ReactNative] Make ErrorCookie work.

This commit is contained in:
Dorota Kapturkiewicz 2015-07-15 04:01:38 -07:00
parent 548549ea9f
commit ba433be886
2 changed files with 10 additions and 5 deletions

View File

@ -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

View File

@ -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