Is .catch better than .then's second argument in JavaScript?
Yes. .catch catches errors from anywhere in the chain above it, including thrown errors in .then callbacks. .then's second argument only catches rejections from the original promise, not from other .then callbacks.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Common Promise Mistakes in JavaScript
Not returning in .then, forgetting .catch (unhandled rejections), nesting .then (mini callback hell), using .then's second argument instead of .catch, sequential instead of parallel await, not using async/await, and wrapping promises in unnecessary new Promise.
Because it is unnecessary and error-prone. If you already have a promise (like from fetch), just return it or chain .then. Wrapping it in new Promise and manually calling resolve/reject is redundant and can introduce bugs.
Always add a .catch at the end of a .then chain, or use try/catch with async/await. In Node.js, unhandled rejections can crash the process. In browsers, they are warnings. Always handle errors.
Still have questions?
Browse all our FAQs or reach out to our support team
