"I am Saqib Jahangir. A passionate vlogger, software engineer, trainer and avid traveler with a deep love for exploring the hidden gems of our beautiful planet. With a strong foundation in Application Development, Application Architecture & Database Design and Product Management, I bring over a decade of hands-on experience building secure, scalable, and resilient web applications for a diverse range of industries."

Error Handling in Javascript

 

In JavaScript, things don’t always go as planned—network requests fail, variables are undefined, APIs return unexpected data. Error handling helps us detect and manage these problems so they don’t crash the entire application or cause strange behavior.


The try...catch Statement

try...catch lets you run code and handle errors without stopping the program.

try {
    let data = JSON.parse('{"name": "Alice"}');
    console.log(data.name);
} catch (error) {
    console.error("Something went wrong:", error.message);
}

Adding finally

The finally block always runs—useful for cleanup tasks.

try {
    console.log("Connecting to server...");
    throw new Error("Connection failed!");
} catch (error) {
    console.error("Error:", error.message);
} finally {
    console.log("Closing connection...");
}

Throwing Custom Errors

You can create your own errors with throw.

function checkAge(age) {
    if (age < 18) {
        throw new Error("You must be 18 or older.");
    }
    return "Access granted";
}
 
try {
    console.log(checkAge(15));
} catch (error) {
    console.error(error.message);
}

Error Handling in Promises

For Promises, use .catch():

fetch("https://api.example.com/data")
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error("Error fetching data:", error));

Error Handling with async/await

With async/await, wrap code in try...catch.

async function getData() {
    try {
        let response = await fetch("https://api.example.com/data");
        let data = await response.json();
        console.log(data);
    } catch (error) {
        console.error("Error fetching data:", error);
    }
}
 
getData();

 

Popular Posts

Operators (Arithmetic, Comparison, Logical)

Functions (Built-in & User-defined)