Platform Support
| IE | Mozilla | Netscape | Opera | Safari | 5.0+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ |
|---|
Constructors
| Constructor | Action | IE | Mozilla | Netscape | Opera | Safari | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Error Constructor([String message]) : Error
Constructs a new instance of an Error object.
|
Show Details | 5.0+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ | |||||
Error([String message]) : ErrorConstructs a new instance of an Error object. Parameters
Returns
|
|||||||||||
Properties
| Property | Action | IE | Mozilla | Netscape | Opera | Safari |
|---|---|---|---|---|---|---|
|
constructor
: Object
Specifies the function that creates the Error prototype.
|
Show Details | 5.0+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ |
|
||||||
|
description
: String
Description or message text of the error.
|
Show Details | 5.0+ | no | no | no | no |
|
||||||
|
fileName
: String
Path or URL to the file that raised the error.
|
Show Details | no | 1.0+ | 6.0+ | no | no |
|
||||||
|
lineNumber
: Number
Line number in file that raised the error.
|
Show Details | no | 1.0+ | 6.0+ | no | no |
|
||||||
|
message
: String
Error message.
|
Show Details | 5.5+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ |
|
||||||
|
name
: String
Error name.
|
Show Details | 5.5+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ |
|
||||||
|
number
: Number
Error number.
|
Show Details | 5.0+ | no | no | no | no |
|
||||||
|
prototype
: Object
Reference to the Error object prototype.
|
Show Details | 5.0+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ |
|
||||||
|
stack
: String
Stack trace that gives information about the context of the error.
|
Show Details | 5.0+ | 1.0+ | 6.0+ | no | no |
|
||||||
Functions
| Method | Action | IE | Mozilla | Netscape | Opera | Safari | ||
|---|---|---|---|---|---|---|---|---|
|
toString() : String
Converts an Error object to a string.
|
Show Details | 5.0+ | 1.0+ | 6.0+ | 7.0+ | 1.0+ | ||
|
Returns
|
||||||||
Throwing a generic error
Usually you create an Error object with the intention of raising it using the throw keyword. You can handle the error using the try...catch construct:
try {
throw new Error("Whoops!");
} catch (e) {
alert(e.name + ": " + e.message);
}Handling a specific error
You can choose to handle only specific error types by testing the error type with the instanceof keyword:
try {
foo.bar();
} catch (e) {
if (e instanceof EvalError) {
alert(e.name + ": " + e.message);
} else if (e instanceof RangeError) {
alert(e.name + ": " + e.message);
}
// ... etc
}You can also test the error's name
property to determine the error type. You can use this
facility to create "user-defined" error types:
try {
var error = new Error("Whoops!");
error.name = "MyError";
throw error;
} catch (e) {
if (e.name == "EvalError") {
alert(e.name + ": " + e.message);
} else if (e.name == "RangeError") {
alert(e.name + ": " + e.message);
}
// ... etc
else if (e.name == "MyError") {
alert(e.name + ": " + e.message);
}
}
Remarks
Besides the base Error, there are six
other core error types in JavaScript 1.5:
-
EvalError: raised when an error occurs executing
code in
eval() - RangeError: raised when a numeric variable or parameter is outside of its valid range
- ReferenceError: raised when de-referencing an invalid reference
-
SyntaxError: raised when a syntax error occurs
while parsing code in
eval() - TypeError: raised when a variable or parameter is not a valid type
-
URIError: raised when
encodeURI()ordecodeURI()are passed invalid parameters
References
EvalError|RangeError|ReferenceError|SyntaxError|TypeError|URIError
Availability
JavaScript 1.5|JScript 5.5|ECMAScript v3
