Error() constructor
The Error
constructor creates an error object.
Syntax
new Error() new Error(message) new Error(message, options) new Error(message, options, fileName) new Error(message, options, fileName, lineNumber)
Parameters
-
message
Optional -
A human-readable description of the error.
-
options
Optional -
An object that has the following properties:
-
cause
Optional -
A property indicating the specific cause of the error. When catching and re-throwing an error with a more-specific or useful error message, this property should be used to pass the original error.
-
-
fileName
Optional -
The value for the
fileName
property on the createdError
object. Defaults to the name of the file containing the code that called theError()
constructor. -
lineNumber
Optional -
The value for the
lineNumber
property on the createdError
object. Defaults to the line number containing theError()
constructor invocation.
Examples
Function call or new construction
When Error
is used like a function -- without new
, it will return an Error
object. Therefore, a mere call to Error
will produce the same output that constructing an Error
object via the new
keyword would.
// this... const x = Error('I was created using a function call!') // ...has the same functionality as this. const y = new Error('I was constructed via the "new" keyword!')
Rethrowing an error with a cause
It is sometimes useful to catch an error and re-throw it with a new message. In this case you should pass the original error into the constructor for the new Error
, as shown.
try { frameworkThatCanThrow(); } catch (err) { throw new Error('New error message', { cause: err }); }
For a more detailed example see Error > Differentiate between similar errors.
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
Error |
1 |
12 |
1 |
6 |
4 |
1 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
options_cause_parameter |
93 |
No |
91 |
No |
79 |
15 |
93 |
93 |
91 |
No |
15 |
No |
See also
throw
try...catch
- Error causes (v8.dev/features)
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Error