Skip to content

promise/catch-or-return Restriction

What it does

Ensure that each time a then() is applied to a promise, a catch() must be applied as well. Exceptions are made for promises returned from a function.

Why is this bad?

Not catching errors in a promise can cause hard to debug problems or missing handling of error conditions. In the worst case, unhandled promise rejections can cause your application to crash.

Examples

Examples of incorrect code for this rule:

javascript
myPromise.then(doSomething);
myPromise.then(doSomething, catchErrors); // catch() may be a little better

Examples of correct code for this rule:

javascript
myPromise.then(doSomething).catch(errors);
function doSomethingElse() {
  return myPromise.then(doSomething);
}

How to use

To enable this rule in the CLI or using the config file, you can use:

bash
oxlint --deny promise/catch-or-return --promise-plugin
json
{
  "plugins": ["promise"],
  "rules": {
    "promise/catch-or-return": "error"
  }
}

References

Released under the MIT License.