blob: bbc2dc20b462b8fad33014cad819b43f3acf2242 [file] [log] [blame]
'use strict';
var assign = require('../object/assign')
, captureStackTrace = Error.captureStackTrace;
exports = module.exports = function (message/*, code, ext*/) {
var err = new Error(), code = arguments[1], ext = arguments[2];
if (ext == null) {
if (code && (typeof code === 'object')) {
ext = code;
code = null;
}
}
if (ext != null) assign(err, ext);
err.message = String(message);
if (code != null) err.code = String(code);
if (captureStackTrace) captureStackTrace(err, exports);
return err;
};