Skip to content

Fix #712: Implement Global Error Handling & Standardized Response #716

Merged
Renu-code123 merged 1 commit intoRenu-code123:mainfrom
SatyamPandey-07:feature/error-handling-712
Feb 20, 2026
Merged

Fix #712: Implement Global Error Handling & Standardized Response #716
Renu-code123 merged 1 commit intoRenu-code123:mainfrom
SatyamPandey-07:feature/error-handling-712

Conversation

@SatyamPandey-07
Copy link
Copy Markdown
Contributor

@SatyamPandey-07 SatyamPandey-07 commented Feb 19, 2026

Key Features Implemented:

Custom AppError Architecture: Created
utils/AppError.js
, which extends the native Node.js
Error
class and adds intelligent flagging for Operational vs. Programmer errors. This ensures that the system can distinguish between user-facing issues (like validation failures) and internal system crashes.
JSend Response Factory: Built
utils/ResponseFactory.js
, a centralized hub for all outgoing API traffic. It strictly enforces a standardized JSON structure (Success/Fail/Error), eliminating inconsistent data shapes across the codebase.
Global Hub Middleware: Implemented
middleware/globalErrorHandler.js
, a catch-all interceptor that processes every error in the application. It automatically normalizes complex database errors (Mongoose/MongoDB) and security exceptions into user-friendly messages.
Environment-Aware Logic: Created
controllers/errorController.js
to handle error delivery.
Development: Sends full stack traces and raw error objects for rapid debugging.
Production: Sanitizes all outputs to shield internal system logic and ensure high security.
ORM Error Normalization: The global handler now automatically detects and formats:
ValidationError (Input schema failures)
CastError (Invalid database IDs)
DuplicateKeyError (Unique constraint violations)
JWTError
& TokenExpiredError (Authentication failures)
Full Route Refactor: Updated multiple routes (e.g.,
users.js
,
expenses.js
) to transition from ad-hoc JSON responses to the new factory-driven system.
Standardization Docs: Created
ERROR_HANDLING_STANDARDS.md
, providing a technical guide for developers on how to throw and format standardized responses.

closes #712

@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 19, 2026

@SatyamPandey-07 is attempting to deploy a commit to the Renu's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown

🎉 Thanks for the PR, @SatyamPandey-07!

We really appreciate you taking the time to contribute to ExpenseFlow! 💙


⭐ Love this project?

Please give us a star! It helps the project grow and reach more developers! 🌟

🔗 https://github.com/Renu-code123/ExpenseFlow


✅ PR Checklist

Before we review, please ensure:

  • Your code follows the project's coding standards
  • All file changes are accurate and intentional
  • You've tested your changes locally
  • Any review comments have been addressed

🙌 Thank You for Contributing!

We truly appreciate your interest in contributing to this project.

  • Please make sure your code follows the project structure
  • Add clear commit messages and comments where necessary
  • Ensure your changes do not break existing functionality

We'll review your PR as soon as possible. Keep up the great work! ✨


@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
expenseflow Ready Ready Preview, Comment Feb 20, 2026 8:53am

@Renu-code123 Renu-code123 merged commit c6a557c into Renu-code123:main Feb 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Global Error Handling & Standardized Response Factory

2 participants