Identifique vários tipos de erros em javascript [duplicado]
Aug 16 2020
Se eu definir classes de erro personalizadas como esta:
class MyCustom Error extends Error{ }
Como posso detectar vários erros como este:
try{
if(something)
throw MyCustomError();
if(something_else)
throw Error('lalala');
}catch(MyCustomError err){
}catch(err){
}
?
O código acima não funciona e apresenta alguns erros de sintaxe
Respostas
1 TheOtterlord Aug 16 2020 at 15:37
A documentação do MDN recomenda o uso de um if/else
bloco dentro da catch
instrução. Isso ocorre porque é impossível ter várias catch
instruções e você não pode detectar erros específicos dessa forma.
try {
myroutine(); // may throw three types of exceptions
} catch (e) {
if (e instanceof TypeError) {
// statements to handle TypeError exceptions
} else if (e instanceof RangeError) {
// statements to handle RangeError exceptions
} else if (e instanceof EvalError) {
// statements to handle EvalError exceptions
} else {
// statements to handle any unspecified exceptions
logMyErrors(e); // pass exception object to error handler
}
}
1 Hi-IloveSO Aug 16 2020 at 15:38
JavaScript é mal digitado. Use if (err instanceof MyCustomError)
dentro da cláusula catch.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino