hard-rejection

WebJar for hard-rejection

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

hard-rejection
Last Version

Last Version

2.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

hard-rejection
WebJar for hard-rejection
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/sindresorhus/hard-rejection

Download hard-rejection

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/hard-rejection/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>hard-rejection</artifactId>
    <version>2.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/hard-rejection/
implementation 'org.webjars.npm:hard-rejection:2.1.0'
// https://jarcasting.com/artifacts/org.webjars.npm/hard-rejection/
implementation ("org.webjars.npm:hard-rejection:2.1.0")
'org.webjars.npm:hard-rejection:jar:2.1.0'
<dependency org="org.webjars.npm" name="hard-rejection" rev="2.1.0">
  <artifact name="hard-rejection" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='hard-rejection', version='2.1.0')
)
libraryDependencies += "org.webjars.npm" % "hard-rejection" % "2.1.0"
[org.webjars.npm/hard-rejection "2.1.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

hard-rejection Build Status

Make unhandled promise rejections fail hard right away instead of the default silent fail

Promises fail silently if you don't attach a .catch() handler.

This module exits the process with an error message right away when an unhandled rejection is encountered.
Note: That might not be desirable as unhandled rejections can be handled at a future point in time, although not common. You've been warned.

Intended for top-level long-running processes like servers, but not in reusable modules.
For command-line apps and tests, see loud-rejection.

With Node.js 15, this package is moot as the default behavior then is to throw on unhandled rejections.

Install

$ npm install hard-rejection

Usage

const hardRejection = require('hard-rejection');
const promiseFunction = require('some-promise-fn');

// Install the handler
hardRejection();

promiseFunction();

Without this module it's more verbose and you might even miss some that will fail silently:

const promiseFunction = require('some-promise-fn');

function error(error) {
	console.error(error.stack);
	process.exit(1);
}

promiseFunction().catch(error);

Register script

Alternatively to the above, you may simply require hard-rejection/register and the handler will be automagically installed for you.

This is handy for ES2015 imports:

import 'hard-rejection/register';

API

hardRejection([log])

log

Type: Function
Default: console.error

Custom logging function to print the rejected promise. Receives the error stack.

Related

  • loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail
  • More…

License

MIT © Sindre Sorhus

Versions

Version
2.1.0