TypeError() constructor
The TypeError()
constructor creates a new error when an
operation could not be performed, typically (but not exclusively) when a value is not of
the expected type.
Syntax
new TypeError()
new TypeError(message)
new TypeError(message, options)
new TypeError(message, fileName)
new TypeError(message, fileName, lineNumber)
TypeError()
TypeError(message)
TypeError(message, options)
TypeError(message, fileName)
TypeError(message, fileName, lineNumber)
Note: TypeError()
can be called with or without new
. Both create a new TypeError
instance.
Parameters
message
Optional-
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 can be used to pass the original error.
fileName
Optional Non-standard-
The name of the file containing the code that caused the exception
lineNumber
Optional Non-standard-
The line number of the code that caused the exception
Examples
Catching a TypeError
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "null has no properties"
console.log(e.name); // "TypeError"
console.log(e.fileName); // "Scratchpad/1"
console.log(e.lineNumber); // 2
console.log(e.columnNumber); // 2
console.log(e.stack); // "@Scratchpad/2:2:3\n"
}
Creating a TypeError
try {
throw new TypeError("Hello", "someFile.js", 10);
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
console.log(e.fileName); // "someFile.js"
console.log(e.lineNumber); // 10
console.log(e.columnNumber); // 0
console.log(e.stack); // "@Scratchpad/2:2:9\n"
}
Specifications
Specification |
---|
ECMAScript Language Specification # sec-nativeerror-constructors |
Browser compatibility
BCD tables only load in the browser