JavaScript Me Error Handling Kaise Kare

Apne code ko crash hone se bachayein aur robust applications banana sikhein.

Error Handling Kyun Zaroori Hai?

JavaScript ek single-threaded language hai, lekin asynchronous operations (jaise API calls) ke kaaran isme errors aana common hai. Agar in errors ko sahi se handle na kiya jaaye, toh aapka program crash ho sakta hai aur user experience kharab ho sakta hai. Effective error handling aapke code ko stable, predictable, aur maintainable banati hai.

1. The try...catch Statement

Yeh JavaScript me error handling ka sabse fundamental tool hai.

  • try block: Isme woh code rakha jaata hai jisme error aane ka chance ho.
  • catch block: Agar try block me error aata hai, toh control catch block me transfer ho jaata hai, jahan aap error ko handle kar sakte hain.
try {
  let json = '{"name": "Sandeep"}';
  let user = JSON.parse(json);
  console.log("User name:", user.name);
} catch (error) {
  console.error("JSON parse karte waqt error:", error.message);
}

Common Mistake: Error ko silently ignore karna (catch ). Hamesha error ko log karein ya user ko feedback dein.

2. The finally Block

finally block hamesha execute hota hai—chahe try block me error aaye ya na aaye. Iska use aamtaur par cleanup code (jaise database connection close karna) ke liye hota hai.

try {
  console.log("Processing started...");
} catch (error) {
  console.error(error.message);
} finally {
  console.log("Cleanup complete – resources released.");
}

3. Creating Custom Errors with throw

Aap throw keyword ka use karke apne custom errors define kar sakte hain. Yeh application-specific validation ke liye bohot useful hai.

class ValidationError extends Error {
  constructor(message) {
    super(message);
    this.name = "ValidationError";
  }
}

function checkAge(age) {
  if (age < 18) {
    throw new ValidationError("Age 18 se kam allowed nahi hai.");
  }
  return true;
}

try {
  checkAge(16);
} catch (error) {
  if (error instanceof ValidationError) {
    console.error("Validation Error:", error.message);
  } else {
    console.error("Unknown Error:", error);
  }
}

4. Error Handling in Asynchronous Code

Asynchronous code me error handling alag tarike se hoti hai.

Promises ke saath .catch()

fetch("https://api.invalid.com/data")
  .then(res => res.json())
  .catch(error => console.error("API call fail hua:", error.message));

Async/Await ke saath try...catch

async function fetchData() {
  try {
    let res = await fetch("https://api.invalid.com/data");
    let data = await res.json();
    console.log(data);
  } catch (error) {
    console.error("Data fetch karte waqt error:", error.message);
  }
}
fetchData();

Key Takeaways

  • try...catch ka use karke runtime errors ko handle karein.
  • Meaningful error messages provide karein jo debugging me help kare.
  • throw se custom, application-specific errors banayein.
  • Asynchronous code me Promises ke liye .catch() aur async/await ke liye try...catch ka use karein.
  • finally block ka use cleanup operations ke liye karein.
Bonus: Practical Application!
Ab in concepts ko practically use karke dekhein.

Ek function banayein jo JSON string ko parse karta ho. Use `try...catch` block me rakhein taaki invalid JSON string pass karne par error ko handle kiya ja sake.

Practice in JS Editor
Test Your Knowledge!
Kya aap JavaScript Error Handling ke baare mein seekh chuke hain? Chaliye dekhte hain!

Apni knowledge test karne ke liye is quick quiz ko dein.

Start Quiz