diff --git a/Libraries/Utilities/__tests__/stringifySafe-test.js b/Libraries/Utilities/__tests__/stringifySafe-test.js index b7eb1f21192..c259caf20a7 100644 --- a/Libraries/Utilities/__tests__/stringifySafe-test.js +++ b/Libraries/Utilities/__tests__/stringifySafe-test.js @@ -47,4 +47,10 @@ describe('stringifySafe', () => { const result = stringifySafe(arg); expect(result).toEqual('["object" failed to stringify]'); }); + + it('stringifySafe stringifies error messages', () => { + const error = new Error('error'); + const result = stringifySafe(error); + expect(result).toEqual('Error: error'); + }); }); diff --git a/Libraries/Utilities/stringifySafe.js b/Libraries/Utilities/stringifySafe.js index 73e81a345db..d562a911e97 100644 --- a/Libraries/Utilities/stringifySafe.js +++ b/Libraries/Utilities/stringifySafe.js @@ -29,6 +29,8 @@ function stringifySafe(arg: any): string { } catch (e) { ret = '[function unknown]'; } + } else if (arg instanceof Error) { + ret = arg.name + ': ' + arg.message; } else { // Perform a try catch, just in case the object has a circular // reference or stringify throws for some other reason.