Async/await without error handling
Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
A file uses async/await but has no try/catch anywhere, so rejected awaits will throw unhandled.
Why it matters
These files use async/await but contain no try/catch anywhere, so any rejected await propagates as an unhandled rejection unless every caller happens to handle it. In the browser that means silently broken features; in Node it can terminate the process.
How to fix it
Add handling at the right boundaries instead of wrapping every await: the outermost points where a failure should become a user-visible state, a logged error, or an error response (event handlers, route handlers, top-level orchestrating functions). Inner helpers can keep letting errors propagate once a boundary above them handles failures.
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo