Open In App

Eliminate incomplete execution of a set of functions due to unforeseen errors

Last Updated : 02 Aug, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will try to understand how we may eliminate incomplete execution of a set of functions due to unforeseen errors with the help of a coding example in JavaScript.

Let us first understand how we may throw as well as catch an error inside a function itself with the help of the following enlightened section that shows the exact syntax which is to use for the same:

Syntax: The following syntax, we may use in order to throw an error in a function, later catch that error in the same function itself (Note here we have used arrow function, the user could also opt for normal function declaration syntax as well):

let function_name = () => {
    try {
        // error_message is the string value
        throw new Error(error_message); 
    }
    
    catch(error) {
        // Do something with this error
    }
}

Let us have a look over the following shown example that will help us to understand the above enlightened syntax in a much better and more efficient manner.

Example 1: In this example, we will simply create a function (preferably an arrow function) and inside that, we will create a try/catch block, and then in the try block itself we will throw an error and then catch that error in catch block itself.

Javascript




<script>
    let errorMethod = () => {
        try {
            throw new Error("Please try again later..!");
        } catch (error) {
            console.log(error.message);
        }
    };
  
    errorMethod();
</script>


Output:

Please try again later..!

Now let us understand our main task which is how to eliminate incomplete execution of a set of functions due to unforeseen errors with a coding example which is enlightened below:

Example 2: In this example, we will create multiple functions which will throw their own respective errors which we will catch in other methods forming a chain of method execution.

Javascript




<script>
    let firstErrorFunction = () => {
        try {
            throw new Error(
                "Error thrown by First Function...!!");
        } catch (error) {
            console.log("Catched error in First Function: " 
                + error.message);
            throw new Error(
                "Another error thrown by first function...!!");
        }
    };
  
    let secondErrorFunction = () => {
        try {
            firstErrorFunction();
        } catch (error) {
            console.log("Catched error in Second Function: "
                + error.message);
            throw new Error(
                "Error thrown by second function...!!");
        }
    };
  
    let thirdErrorFunction = () => {
        try {
            secondErrorFunction();
        } catch (error) {
            console.log("Catched error in Third Function: " 
                + error.message);
        }
        console.log("No more errors are left for catching...");
    };
  
    thirdErrorFunction();
</script>


Output:

Catched error in First Function: Error thrown by First Function…!!
Catched error in Second Function: Another error thrown by first function…!!
Catched error in Third Function: Error thrown by second function…!!
No more errors are left for catching…



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads