[ReactNative] Make JS stack traces in Xcode prettier

This commit is contained in:
Alex Kotliarskyi
2015-03-19 09:51:33 -07:00
parent 737cae8f19
commit d6a031b431
3 changed files with 79 additions and 44 deletions

View File

@@ -57,33 +57,11 @@ function setupDocumentShim() {
}
}
var sourceMapPromise;
function handleErrorWithRedBox(e) {
var RCTExceptionsManager = require('NativeModules').ExceptionsManager;
var errorToString = require('errorToString');
var loadSourceMap = require('loadSourceMap');
GLOBAL.console.error(
'Error: ' +
'\n stack: \n' + e.stack +
'\n URL: ' + e.sourceURL +
'\n line: ' + e.line +
'\n message: ' + e.message
);
if (RCTExceptionsManager) {
RCTExceptionsManager.reportUnhandledException(e.message, errorToString(e));
if (__DEV__) {
(sourceMapPromise = sourceMapPromise || loadSourceMap())
.then(map => {
var prettyStack = errorToString(e, map);
RCTExceptionsManager.updateExceptionMessage(e.message, prettyStack);
})
.then(null, error => {
GLOBAL.console.error('#CLOWNTOWN (error while displaying error): ' + error.message);
});
}
try {
require('ExceptionsManager').handleException(e);
} catch(ee) {
console.log('Failed to print error: ', ee.message);
}
}