Error Handling in JavaScript

Let's see an example:

                                      
                                        function divideNumbers(a, b) {
                                            try {
                                                if (b === 0) {
                                                    throw new Error('Cannot divide by zero');
                                                }
                                        
                                                const result = a / b;
                                                return result;
                                            } catch (error) {
                                                console.error('Error:', error.message);
                                                // You can perform additional error handling or logging here
                                                return 'Error occurred';
                                            }
                                        }
                                        
                                        // Example usage
                                        console.log(divideNumbers(10, 2)); // Output: 5
                                        console.log(divideNumbers(8, 0));  // Output: Error occurred, with console error: Error: Cannot divide by zero                                                                                                                                                                                                                                                                     
                                      
                                    

In this example:


  • This is the code that potentially raises the exception, and it has to be placed in a try block.
  • If an exception roams then catch block is executed and the error is stored in error variable.
  • If the value does not exist or is of an unexpected type, you can then manage the exception, write a log or do whatever necessary.

As you may remember, in using try-catch, the catch block will have a priority over the finally block. .. catch is very handy if dealing with synchronous exceptions.

For asynchronous errors like the ones mentioned in promises callbacks you would normally use the catch of promises or pass an error callback.

                                      
                                        function fetchData() {
                                            return new Promise(function(resolve, reject) {
                                                // Simulating an asynchronous operation
                                                setTimeout(function() {
                                                    const success = Math.random() > 0.5;
                                                    if (success) {
                                                        resolve('Data fetched successfully');
                                                    } else {
                                                        reject(new Error('Failed to fetch data'));
                                                    }
                                                }, 1000);
                                            });
                                        }
                                        
                                        // Using try...catch with async/await
                                        async function fetchDataWrapper() {
                                            try {
                                                const result = await fetchData();
                                                console.log(result);
                                            } catch (error) {
                                                console.error('Error:', error.message);
                                            }
                                        }
                                        
                                        fetchDataWrapper();                                                                                                                                                                                                                                                                                                          
                                      
                                    

In the example above, the try...catch block is used with async/await to handle errors in an asynchronous operation.


Hey there! Let's go for Learn fasta then! It is more than just coding; it is to have the superpower that can solve any problem. Through simple and easy-to-grasp examples you will sail through the learning process. In addition, it is not just about coding– you will acquire competencies on how to solve complex problems, analyze data, and come up with efficient solutions. Shall we start this wonderful journey together! learnfasta.com terms of use, Copyright 2025 All Rights Reserved.