O objeto TypeError representa um erro de quando um valor não é do tipo esperado.
Sintaxe
new TypeError([message[, fileName[, lineNumber]]])
Parâmetros
message- Opcional. Mensagem, descrição do erro
fileName- Opcional. O nome do arquivo contendo o código que causou a exceção
lineNumber- Opcional. O número da linha do código que causou a exeção
Descrição
O TypeError é ativado quando um operador ou argumento passado para uma função é incompativel com o tipo esperado por esse operador ou função.
Propriedades
TypeError.prototype- Permite a adição de propriedades para o objeto
TypeError.
Métodos
O TypeError global não contém métodos por si só, no entanto, ele herda alguns métodos através da cadeia prototype.
Instâncias TypeError
Propriedades
TypeError.prototype.constructor- Specifies the function that created an instance's prototype.
TypeError.prototype.message- Error message. Although ECMA-262 specifies that
TypeErrorshould provide its ownmessageproperty, in SpiderMonkey, it inheritsError.prototype.message. TypeError.prototype.name- Error name. Inherited from
Error. TypeError.prototype.fileName- Path to file that raised this error. Inherited from
Error. TypeError.prototype.lineNumber- Line number in file that raised this error. Inherited from
Error. TypeError.prototype.columnNumber- Column number in line that raised this error. Inherited from
Error. TypeError.prototype.stack- Stack trace. Inherited from
Error.
Métodos
Although the TypeError prototype object does not contain any methods of its own, TypeError instances do inherit some methods through the prototype chain.
Exemplos
Capturando um 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"
}
Criando um 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"
}
Especificações
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypeError' in that specification. |
Padrão | |
| ECMAScript 5.1 (ECMA-262) The definition of 'TypeError' in that specification. |
Padrão | |
| ECMAScript 3rd Edition (ECMA-262) The definition of 'TypeError' in that specification. |
Padrão | Initial definition |
Compatibilidade do Navegador
Estamos convertendo nossos dados de compatibilidade para o formato JSON.
Esta tabela de compatibilidade ainda usa o formato antigo,
pois ainda não convertemos os dados que ela contém.
Descubra como você pode ajudar!
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |