JavaScript has 7 error objects that are raised in a try/catch expression, depending on the type of error. These error objects are:
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
In this article, we will analyze each of these error objects and understand their specific use cases.
Error Object
The Error
object is a generic error object from which all other error objects inherit. It contains two properties: message
and name
. The message
property provides a human-readable description of the error, while the name
property identifies the type of error. The Error
object also has a toString()
method, which generates a meaningful string representation of the error.
EvalError Object
The EvalError
object is defined in JavaScript but is not actually thrown by JavaScript itself. It remains for compatibility purposes, as it was previously used to indicate incorrect usage of the eval()
function.
RangeError Object
A RangeError
is thrown when a numeric value is not within the allowed range. For example, setting the length of an array to a negative value or a number higher than the maximum range of a 32-bit unsigned integer will throw a RangeError
.
ReferenceError Object
A ReferenceError
is raised when a JavaScript program attempts to read a variable that does not exist. It indicates that an invalid reference value has been detected. For example, trying to access an undefined variable will throw a ReferenceError
.
SyntaxError Object
A SyntaxError
is raised when a syntax error is found in a JavaScript program. It typically occurs due to a mistake in the code structure or invalid syntax. Some common causes of SyntaxError
include missing commas, missing parentheses, or using reserved keywords incorrectly.
TypeError Object
A TypeError
occurs when a variable or value has a type that is different than expected. For example, trying to call a number as a function or accessing properties on an undefined value will throw a TypeError
.
URIError Object
The URIError
object is raised when one of the global functions that work with URIs (decodeURI()
, decodeURIComponent()
, encodeURI()
, and encodeURIComponent()
) are called with an invalid URI.
In this article, we have discussed the various Error objects in JavaScript and their specific use cases. Each of these error objects provides valuable information about the type of error that occurred, making it easier to debug and handle errors in JavaScript applications.