Ответ
В JavaScript ошибки делятся на несколько типов:
- SyntaxError - ошибка синтаксиса:
const a = ; // Uncaught SyntaxError: Unexpected token ';'
- ReferenceError - обращение к несуществующей переменной:
console.log(b); // Uncaught ReferenceError: b is not defined
- TypeError - неверный тип данных или операции:
null.foo(); // Uncaught TypeError: Cannot read property 'foo' of null
- RangeError - выход за допустимый диапазон:
new Array(-1); // Uncaught RangeError: Invalid array length
- URIError - ошибка в URI-функциях:
decodeURI('%'); // Uncaught URIError: URI malformed
-
EvalError (редко) - ошибка в eval().
-
Custom Errors - пользовательские ошибки через
class MyError extends Error.
Все ошибки наследуются от базового объекта Error. Можно обрабатывать через try/catch и создавать свои типы ошибок.