Customized error class module for project/microservices. Throw error enum objects within a JavaScript Error class preserving the stack.
npm install --save project-error
- Pass any object containing into the first argument of
ProjectError
:
var ProjectError = require('project-error');
throw new ProjectError({
code: 4010,
statusCode: 400,
message: 'Bad Request'
});
- Pass additional error details as either a string or an array of strings:
var ProjectError = require('project-error');
var errorObj = {
code: 4010,
statusCode: 400,
message: 'Bad Request'
};
var errorDetail = 'This is a one-liner error detail';
throw new ProjectError(errorObj, errorDetail);
var ProjectError = require('project-error');
var errorObj = {
code: 4010,
statusCode: 400,
message: 'Bad Request'
};
var errorDetails = [
'This is multiple lines of error details',
'This is multiple lines of error details',
'This is multiple lines of error details'
];
throw new ProjectError(errorObj, errorDetails);
- Pass a standard
Error
object and preserve the stack:
var errorObj = {
code: 4010,
statusCode: 400,
message: 'Bad Request'
};
var errorDetail = 'This is a one-liner error detail';
var error = new Error('Fail!');
throw new ProjectError(errorObj, errorDetail, error);