Bird
0
0

You want to create a custom error class DatabaseError that includes a query property showing the failed SQL query. Which is the best way to implement it?

hard📝 component behavior Q8 of 15
Node.js - Error Handling Patterns
You want to create a custom error class DatabaseError that includes a query property showing the failed SQL query. Which is the best way to implement it?
Aclass DatabaseError extends Error { constructor(message) { super(message); this.query = ''; this.name = 'DatabaseError'; } }
Bclass DatabaseError extends Error { constructor(message, query) { super(message); this.query = query; this.name = 'DatabaseError'; } }
Cclass DatabaseError { constructor(message, query) { this.message = message; this.query = query; } }
Dfunction DatabaseError(message, query) { this.message = message; this.query = query; this.name = 'DatabaseError'; }
Step-by-Step Solution
Solution:
  1. Step 1: Check class extends Error and constructor

    class DatabaseError extends Error { constructor(message, query) { super(message); this.query = query; this.name = 'DatabaseError'; } } correctly extends Error, calls super(message), sets query property, and sets name.
  2. Step 2: Evaluate other options

    class DatabaseError extends Error { constructor(message) { super(message); this.query = ''; this.name = 'DatabaseError'; } } does not accept query parameter; C does not extend Error; D is a function, not a class.
  3. Final Answer:

    class DatabaseError extends Error { constructor(message, query) { super(message); this.query = query; this.name = 'DatabaseError'; } } -> Option B
  4. Quick Check:

    Extend Error + add custom properties in constructor [OK]
Quick Trick: Add custom properties after calling super(message) [OK]
Common Mistakes:
  • Not extending Error class
  • Not passing message to super
  • Ignoring custom property initialization

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Node.js Quizzes