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.