diff --git a/src/util.ts b/src/util.ts index 5c62a0ca..707850a2 100644 --- a/src/util.ts +++ b/src/util.ts @@ -236,6 +236,7 @@ export class ApiError extends Error { } this.message = ApiError.createMultiErrorMessage(errorBody, this.errors); + Error.captureStackTrace(this); } /** * Pieces together an error message by combining all unique error messages diff --git a/test/util.ts b/test/util.ts index 4ee32eaa..50b3478f 100644 --- a/test/util.ts +++ b/test/util.ts @@ -146,6 +146,16 @@ describe('common/util', () => { assert.strictEqual(apiError.message, expectedMessage); }); + it('should use message in stack', () => { + const expectedMessage = 'Message is in the stack too!'; + const apiError = new ApiError(expectedMessage); + + assert.strictEqual( + (apiError.stack || '').split('\n')[0], + `Error: ${expectedMessage}` + ); + }); + it('should build correct ApiError', () => { const fakeMessage = 'Formatted Error.'; const fakeResponse = {statusCode: 200} as r.Response;