Error Handling in Javascript

No matter how good you are, how experienced you are, you will be making mistakes now and then. But it’s alright, as long as you know how to handle those errors. And if you are writing your scripts in JavaScript, then you are in luck. Because in this article, we will be learning how to handle errors in JavaScript.

1. Error Objects

Before dealing with errors, we need to understand what errors are. In JS, everything is an object, well almost, and errors are no different. Error objects are thrown whenever there is a runtime error. They mostly consist of two standard properties, name and message, along with some additional non-standard properties for debugging purposes.

try{
console.log(error);
} catch (err) {
console.log(err.name);
console.log(err.message);
console.log(err.stack);
}

In JS, with any kind of runtime error, the execution just stops given us minimal opportunity to deal with the situation. But with try…catch, we can handle the situation to a certain extent. The try block holds the regular statements to execute. The catch block only comes into play when there is an exception in the try block.

try{ console.log(‘start’);
console.log(finish); // ReferenceError
} catch (err)
{ console.log(‘We have an error’);
}

3. try-catch-finally

The finally block gives us the ability to execute certain statements, regardless of whether an exception is thrown from the try block. finally block makes our code more predictable.

try{ console.log(‘start’);
console.log(finish);
} catch (err)
{ console.log(‘We have an error’);
} finally { console.log(“I’m always here!”);
}

Until now, it was up to JS to decide if something is right or wrong. But with throw, we can set our own error conditions and throw exceptions at will. The throw stops the execution of the current function and pass the control to the catch block if available.

try{ const a = 1;
const b = -4;
const sum = a+b;
if(sum < 0){ throw ‘Error: Negative Number!’;
} console.log(sum);
} catch (err)
{ console.log(err);
}