Standardizing Error Messages for Improved Debugging
Learn to create uniform error messages that provide clarity during debugging, enhancing developer efficiency.
0 likes
3 views
Rule Content
--- description: Enforce standardized error messages in JavaScript to enhance debugging clarity and developer efficiency. globs: "**/*.js" tags: [error-handling, debugging, code-quality] priority: 2 version: 1.0.0 --- # Standardizing Error Messages for Improved Debugging ## Context - Applicable to all JavaScript projects. - Aims to improve error message consistency and informativeness. ## Requirements - **Use Specific Error Types**: Create and throw custom error classes that extend the native `Error` object to provide more context. - **Provide Descriptive Error Messages**: Include clear, actionable information in error messages to aid in debugging. - **Avoid Technical Jargon**: Use plain language in error messages to ensure they are understandable to all developers. - **Include Relevant Context**: Add pertinent details such as function names, variable values, or operation descriptions to error messages. - **Implement Consistent Formatting**: Adopt a uniform structure for error messages across the codebase. ## Examples <example> // Good: Custom error with descriptive message class ValidationError extends Error { constructor(field, message) { super(`Validation failed for field '${field}': ${message}`); this.name = 'ValidationError'; this.field = field; } } function processUserInput(input) { if (!input.email) { throw new ValidationError('email', 'Email address is required.'); } // Process input... } </example> <example type="invalid"> // Bad: Generic error with vague message function processUserInput(input) { if (!input.email) { throw new Error('Invalid input.'); } // Process input... } </example>