require('handle-rejection').console(); // console.error(error)
Name | Details |
---|---|
console | console.error |
exit | process.exit |
throw | throws error |
collect | Prints all errors before process exists |
require('handle-rejection')(
'console',
'collect'
);
This one is a good combination for long test suits (see below) â
const errobj = require('errobj');
require('handle-rejection')(
error => fetch(
'/report-error',
{
method: 'POST',
body: JSON.stringify(errobj(error))
}
)
);
require('handle-rejection')(
error => Raven.captureException(error) // custom
'exit', // built in
);
â Example for a combination of "console" and "collect" in a testing environment
> mocha
some function
â Should be okay
TypeError: Cannot read property 'ok' of undefined
at ok (/workspace/package/spec.js:21:11)
at tryCatch (/workspace/package/node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (/workspace/package/node_modules/regenerator-runtime/runtime.js:271:22)
at Generator.prototype.(anonymous function) [as next] (/workspace/package/node_modules/regenerator-runtime/runtime.js:97:21)
at asyncGeneratorStep (/workspace/package/spec.js:14:103)
at _next (/workspace/package/spec.js:16:194)
at process._tickCallback (internal/process/next_tick.js:68:7)
some other function
â Should success
â Should also success
â Should really work
another bulk of tests
â Should be fine
â Should pass the test
6 passing (110ms)
âââââââââââââââââââââââââââââââŽ
â Unhandled Rejection Summary â
â°ââââââââââââââââââââââââââââââ¯
âī¸ Rejection 1:
TypeError: Cannot read property 'ok' of undefined
at ok (/workspace/package/spec.js:21:11)
at tryCatch (/workspace/package/node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (/workspace/package/node_modules/regenerator-runtime/runtime.js:271:22)
at Generator.prototype.(anonymous function) [as next] (/workspace/package/node_modules/regenerator-runtime/runtime.js:97:21)
at asyncGeneratorStep (/workspace/package/spec.js:14:103)
at _next (/workspace/package/spec.js:16:194)
at process._tickCallback (internal/process/next_tick.js:68:7)