No centralized error handling
Part of Architecture & Best Practices, which counts for 15% of the overall score. When this check fires it deducts 8 points from that category, once per scan, no matter how many places it turns up.
What it detects
No Express error-handling middleware was found, so unhandled errors likely crash requests inconsistently.
Why it matters
Without a central Express error handler, each thrown or rejected error falls through to the default handler, which prints a stack trace to the client and can leak internals, while unhandled async errors may hang the request entirely. Users see inconsistent failures and you have no single place to log or shape error responses.
How to fix it
Add one error-handling middleware registered after all routes: app.use((err, req, res, next) => ...) that logs the error and responds with a consistent JSON shape and status. On Express 4, rejected promises in async handlers never reach it on their own, so wrap handlers with a small wrapAsync helper or call next(err) in catch blocks; Express 5 forwards async rejections automatically. Return generic messages in production and keep stack traces in server logs only.
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