Правильные методы и методы для обработки и ошибок отчетности являются фундаментальными для любого языка программирования. Тем не менее, это также одна из тех практик программирования, которая в значительной степени упускается из виду. JavaScript ничем не отличается от этого аспекта. Чаще, чем нет, в JavaScript разработчики в конечном итоге запускают код, который работает, не давая много размышлений о случаях, когда код может потерпеть неудачу или как обрабатывать ошибки. Интересно, когда возникает ошибка, JavaScript не пройдет молча, не давая вам много подсказки о том, что пошло не так.
Чтобы понять основы Ошибка ошибок JavaScript Нам нужно лучше взглянуть на то, как переводчик работает под капотом. Эта статья охватывает это и многое другое. Вы узнаете о разных классах ошибок в JavaScript, методах, которые вы можете использовать для обработки их и некоторыми инструментами для ошибок мониторинга. Давайте начнем.
Теория
Если вам интересно, что происходит под капотом, это не так просто, как кажется конечным пользователю. Когда встречается ошибка, интерпретатор останавливает выполнение, а исключение брошен. Переводчик ищет механизм обработки исключений и когда он не находит, он выпрыгивает из текущей функции. Но вещи там не останавливаются. Программа возвращается от всех функций в стеке вызовов, пока он либо не достигнет функции верхнего уровня, которая начала выполнение (тем самым завершается программа) или обработчик исключения.
Если программа всегда возвращается в обработчики исключения верхнего уровня, когда возникает ошибка, пользовательский опыт будет совершенно катастрофическим. Вместо этого нам нужен более новый метод для обработки исключений, изящно сообщает об ошибке, а затем продолжайте выполнение программы с этого момента, когда была поймана ошибка.
В этой статье я собираюсь обсудить различные ошибки, которые вы могли бы встретить в JavaScript, лучшую практику столкнуться с такими ошибками и различными инструментами, которые могут помочь вам в сообщении ошибок и исключениях JavaScript.
Общие ошибки и исключения
Вот общие ошибки в JavaScript, которые вы можете столкнуться.
Общая ошибка
Общая ошибка обычно представляет собой пользовательскую ошибку. Вы можете использовать тип ошибки, чтобы создать объекты ошибок, которые специфики для вашего случая использования. Например, здесь существует объект ошибки объекта.
var error = new Error("An error has been encountered");
Синтаксисные ошибки
Синтаксисные ошибки – это ошибки, которые невозможно избежать. Это ошибки, которые возникают, когда вы пытаетесь сделать что-то, что нарушает грамматические правила языка. Также известен как ошибки разборки, они могут быть идентифицированы только во время выполнения в JavaScript, потому что JavaScript – это интерпретированный язык. Отсутствующие кронштейны, скобки и т. Д. – это некоторые из общих синтаксических ошибок.
const a = (state => { console.log(3) }
Тип ошибки
Вы запускаете эту ошибку, когда значение передается функции как операнда или аргумент, не совпадает с ожидаемым типом. Вот пример:
const a = null; console.log(a.name); //Uncaught TypeError: Cannot read property 'name' of null
Справочная ошибка
Ссылка встречается при отсутствии существующей переменной или переменной, которая еще не объявлена. Это обычно происходит, когда вы пропускаете имя переменной или переменной используется за пределами его оригинального объема. Пример ниже демонстрирует несколько распространенных вхождений опорной ошибки.
const bob = "Bob"; state = Bob; //Uncaught ReferenceError: Bob is not defined { let a = "This has limited scopes" } console.log(a); //Uncaught ReferenceError: Bob is not defined
Диапазон ошибки
Ошибка диапазона возникает, когда значение не находится в диапазоне, ни наборам допустимых значений. Обычно это происходит, когда вы пытаетесь пройти номер в качестве аргумента функции, и число не попадает в диапазон аргумента.
var pi = 3.14159; pi.toFixed(100000); //RangeError: toFixed() digits argument must be between 0 and 100
Есть еще два типа объектов ошибок; Ошибка URI и ошибка EVAL. Вы можете прочитать больше о типах ошибок в JavaScript в Официальная страница MDN Отказ
Обработка исключений в JavaScript
В JavaScript у вас есть много способов, которым вы могли бы проверить исключения и справиться с ними; Но некоторые методы лучше всего избежать. Я перечислил пару способов, которыми я думаю, лучше всего обрабатывать ошибки в JavaScript.
Попытка … поймать заявление
Это один из популярных способов ловить ошибки в JavaScript и многие другие языки программирования реализовали эту практику для отчетов об ошибках. Блок Try содержит набор утверждений, в которых может произойти исключение. Блок Try, как правило, сопровождается блок Catch или наконец-то блокировки или оба. Заявления тестируются на ошибки внутри попытки, и если исключение найдено, он выглядит сначала обрабатывать эти исключения, используя блок Catch Catch.
try { // tries to execute this block } catch (exception) { // this code handles exceptions } finally { // this code always gets executed }
Когда происходит исключение, выполняется предложение PALS, и его аргумент получает исключение. Затем вы можете отобразить ошибку или обрабатывать исключение в новом порядке без ухудшения опыта пользователя.
Блок наконец выполнен независимо от того, возникает ли исключение или нет. Однако это полностью необязательно. Оформить заказ пример ниже, который демонстрирует попытку … поймать в действии:
try { eval('alert("Hello world)'); } catch(error) { console.log(error); // expected output: SyntaxError: unterminated string literal // Note - error messages will vary depending on browser } finally { console.log("Inside finally block"); }
Бросание исключений
бросить заявление позволяет вам намеренно бросать пользовательские исключения. Когда интерпретатор работает в оператор броска, он останавливает процесс выполнения, а затем ищет предложение улов в стеке вызовов. Если он не найдет одно, программа прекращается.
Бросающие исключения особенно полезны, когда вы отладки вашего кода. Вы можете использовать эту технику, чтобы изолировать ошибки и/или узнать, что пошло не так. Вот пример:
if (denominator === 0) throw new Error("Division By zero error!");
Отчетность и мониторинг ошибок JavaScript
Как разработчик, вы всегда хотели бы захватить все ошибки в самом фазе разработки. Но это не то, что происходит в реальной жизни. Даже если на месте есть единичные тесты и другие барьеры; Ошибки будут ползать в вашей производственной сборке. Поэтому важно, чтобы у вас был определенный план для мониторинга отчетности ошибок JavaScript и принять необходимые действия, когда это произойдет. Лучшим возможным решением будет создавать пользовательский скрипт, используя некоторые из них, которые предоставляются, потому что это дает гибкость, чтобы иметь полный контроль над механизмом отчетов об ошибке JavaScript.
Вы можете записать события исключения в консоль и в базу данных и вызвать почтущую почту, чтобы отправить вам письмо, когда что-то пойдет не так. В противном случае есть решения для отслеживания ошибок, как бесплатные, так и оплачиваются, которые позволяют отслеживать все, что необходимо отслеживать и создавать отчеты о здоровье о вашем приложении JavaScript. Большинство популярных инструментов отчетности об ошибках JavaScript Online имеют все необходимые функции от отслеживания различных ошибок, классифицируя их, мониторинг состояния здоровья и отключив к вам статусу.
Резюме
Обращение с ошибками и исключениями правильный путь – это то, на что вы должны проводить свои деньги и время. Испытание ошибок в производстве ухудшает опыт пользователя и может негативно повлиять на ваш бизнес. Итак, важно, чтобы у вас были хорошие контрольные блоки для ловли ошибок, мониторинг их и, если необходимо, механизм сообщить о критических ошибках JavaScript обратно пользователю.