diff --git a/Libraries/Core/ExceptionsManager.js b/Libraries/Core/ExceptionsManager.js index 9f0d2a3c6d60ff..0b394e2c154726 100644 --- a/Libraries/Core/ExceptionsManager.js +++ b/Libraries/Core/ExceptionsManager.js @@ -112,28 +112,30 @@ function reportException( }); } - NativeExceptionsManager.reportException(data); + if (e.type !== 'warn') { + NativeExceptionsManager.reportException(data); - if (__DEV__ && !global.RN$Express) { - if (e.preventSymbolication === true) { - return; + if (__DEV__ && !global.RN$Express) { + if (e.preventSymbolication === true) { + return; + } + const symbolicateStackTrace = require('./Devtools/symbolicateStackTrace'); + symbolicateStackTrace(stack) + .then(({stack: prettyStack}) => { + if (prettyStack) { + NativeExceptionsManager.updateExceptionMessage( + data.message, + prettyStack, + currentExceptionID, + ); + } else { + throw new Error('The stack is null'); + } + }) + .catch(error => { + console.log('Unable to symbolicate stack trace: ' + error.message); + }); } - const symbolicateStackTrace = require('./Devtools/symbolicateStackTrace'); - symbolicateStackTrace(stack) - .then(({stack: prettyStack}) => { - if (prettyStack) { - NativeExceptionsManager.updateExceptionMessage( - data.message, - prettyStack, - currentExceptionID, - ); - } else { - throw new Error('The stack is null'); - } - }) - .catch(error => { - console.log('Unable to symbolicate stack trace: ' + error.message); - }); } } else if (reportToConsole) { // we feed back into console.error, to make sure any methods that are diff --git a/Libraries/Core/ExtendedError.js b/Libraries/Core/ExtendedError.js index 6acd8abca0de90..88e6331ced0c98 100644 --- a/Libraries/Core/ExtendedError.js +++ b/Libraries/Core/ExtendedError.js @@ -14,5 +14,6 @@ export type ExtendedError = Error & { componentStack?: string, forceRedbox?: boolean, isComponentError?: boolean, + type?: string, ... };