Errors in JavaScript
In JavaScript, an error is an unexpected event that occurs during the execution of a program. Errors can occur due to various reasons such as incorrect syntax, logical errors, or runtime errors. When an error occurs, JavaScript stops the execution of the program and generates an error message.
JavaScript provides a built-in Error
object that represents an error. The Error
object contains information about the error such as the error message and the stack trace. The stack trace is a list of function calls that were in progress when the error occurred.
There are several types of errors in JavaScript. Some common types of errors are:
- SyntaxError: This error occurs when there is a syntax error in the code. For example, missing parentheses, missing semicolons, or misspelled keywords.
- ReferenceError: This error occurs when a variable or function is used without being declared.
- TypeError: This error occurs when a value is not of the expected type. For example, trying to call a non-function value.
- RangeError: This error occurs when a value is not within the expected range. For example, using an invalid index in an array.
- URIError: This error occurs when a global URI handling function is used in a wrong way.
- EvalError: This error occurs when an error occurs during the execution of
eval()
function. - InternalError: This error occurs when an internal error in the JavaScript engine occurs.
- Error: This is the base class for all errors in JavaScript.
- AggregateError: This error is a subclass of
Error
that represents an error when multiple errors need to be wrapped in a single error. - DOMException: This error is a subclass of
Error
that represents an error in the DOM. - AbortError: This error is a subclass of
DOMException
that represents an error when an operation is aborted. - NotAllowedError: This error is a subclass of
DOMException
that represents an error when an operation is not allowed. - NotFoundError: This error is a subclass of
DOMException
that represents an error when a requested resource is not found. - SecurityError: This error is a subclass of
DOMException
that represents a security error. - TypeError: This error is a subclass of
Error
that represents a type error. - RangeError: This error is a subclass of
Error
that represents a range error.
Handling Errors in JavaScript
To handle errors in JavaScript, you can use the try...catch...finally
statement. The try
block contains the code that may throw an error. The catch
block contains the code to handle the error. The finally
block contains the code that will be executed regardless of whether an error occurs or not.
Here is the syntax of the try...catch...finally
statement:
try {
// Code that may throw an error
} catch (error) {
// Code to handle the error
} finally {
// Code that will be executed regardless of whether an error occurs or not
}
Let's see an example of handling errors in JavaScript using the try...catch...finally
statement:
try {
let x = 10;
let y = 0;
let result = x / y; // Division by zero
console.log(result);
} catch (error) {
console.log("An error occurred: " + error.message);
} finally {
console.log("Finally block executed");
}
In this example, we are trying to divide a number by zero, which will throw a TypeError
(division by zero). We are handling this error using the try...catch...finally
statement.
When you run the above code, you will get the following output:
An error occurred: Division by zero
Finally block executed
In the catch
block, we are logging the error message using error.message
. In the finally
block, we are logging a message that will be executed regardless of whether an error occurs or not.
That's all for handling errors in JavaScript. You can use the try...catch...finally
statement to handle errors and prevent your program from crashing when an error occurs.
-
Which of the following is not a type of error in JavaScript?
A) SyntaxError
B) ReferenceError
C) TypeError
D) NullError
Answer
Answer: D) NullError
NullError
is not a type of error in JavaScript. The correct type of error is TypeError
.
-
Which block of code will be executed regardless of whether an error occurs or not?
A)
try
block
B)catch
block
C)finally
block
D) None of the above
Answer
Answer: C) finally
block
The finally
block will be executed regardless of whether an error occurs or not.
Throwing Errors in JavaScript:
You can throw an error in JavaScript using the throw
statement. The throw
statement allows you to create a custom error and throw it. Here is an example of throwing an error in JavaScript:
try {
let x = 10;
let y = 0;
if (y === 0) {
throw new Error("Division by zero");
}
let result = x / y;
console.log(result);
} catch (error) {
console.log("An error occurred: " + error.message);
} finally {
console.log("Finally block executed");
}
In this example, we are throwing a custom error using the throw
statement when the value of y
is zero. The error message is "Division by zero".
When you run the above code, you will get the following output:
An error occurred: Division by zero
Finally block executed
In the catch
block, we are logging the error message using error.message
. In the finally
block, we are logging a message that will be executed regardless of whether an error occurs or not.
Error Object in JavaScript:
The Error
object in JavaScript has two properties: name
and message
. The name
property contains the name of the error (e.g., "SyntaxError", "ReferenceError", "TypeError"), and the message
property contains the error message.
Here is an example of creating a custom error using the Error
object:
try {
throw new Error("Custom Error");
} catch (error) {
console.log("An error occurred: " + error.message);
}
In this example, we are creating a custom error using the Error
object with the message "Custom Error".
When you run the above code, you will get the following output:
An error occurred: Custom Error
That's all for throwing errors in JavaScript. You can use the throw
statement to throw custom errors and handle them using the try...catch...finally
statement.
Summary
In this tutorial, we learned about errors in JavaScript. Errors are unexpected events that occur during the execution of a program. We saw the different types of errors in JavaScript and how to handle them using the try...catch...finally
statement. We also saw an example of handling errors in JavaScript.