Последние учебники веб-разработки
×

JS Руководство

JS ГЛАВНАЯ JS Введение JS Куда JS Вывод JS Синтаксис JS Заявления JS Комментарии JS переменные JS операторы JS арифметика JS присваивание JS Типы данных JS функции JS Объекты JS Объем JS Мероприятия JS Строки JS Методы струнных JS чисел JS Методы Number JS математический JS Даты JS Форматы даты JS Методы Дата JS Массивы JS Методы массивов JS Booleans JS Сравнения JS условия JS переключатель JS петля For JS В то время как Loop JS Ломать JS Тип преобразования JS RegExp JS ошибки JS отладка JS Подъемно JS Строгий режим JS Гид по стилю JS Лучшие практики JS Ошибки JS Представление JS Зарезервированные слова JS JSON

JS формы

Формы проверки Формы API

JS объект

Определения объектов Свойства объекта Методы объекта Прототипы объектов

JS функции

Определения функций Функциональные параметры Функция Призвание Функция Затворы

JS HTML DOM

DOM вступление DOM методы DOM Документ DOM элементы DOM HTML DOM CSS DOM Анимации DOM Мероприятия DOM EventListener DOM навигация DOM Вершины DOM Nodelist

JS браузер BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Примеры

JS Примеры JS HTML DOM JS HTML вход JS HTML Объекты JS HTML Мероприятия JS браузер JS викторина JS Резюме

JS Рекомендации

JavaScript Объекты HTML DOM Объекты


 

JavaScript Ошибки - Бросай и попытаться поймать


try заявление позволяет протестировать блок кода на наличие ошибок.

catch заявление позволяет обрабатывать ошибку.

throw заявление позволяет создавать пользовательские ошибки.

, Наконец , заявление позволяет выполнить код, после того, как попытаться поймать, независимо от результата.


Ошибки Случится!

При выполнении кода JavaScript, различные ошибки могут возникать.

Ошибки могут быть ошибки кодирования, сделанные программистом, ошибки из-за неправильного ввода, и других непредсказуемых вещей:

пример

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
Попробуй сам "

В приведенном выше примере мы сделали опечатку в коде (в блоке TRY).

catch блок перехватывает ошибку, и выполняет код , чтобы справиться с этим.


JavaScript try и catch

try заявление позволяет определить блок кода , который будет испытан на ошибки при его выполнении.

catch утверждение позволяет определить блок кода , который будет выполняться, если ошибка происходит в блоке Try.

Операторы JavaScript try и catch приходят парами:

try {
    Block of code to try
}
catch(err) {
    Block of code to handle errors
}

JavaScript может вызывать ошибки

При возникновении ошибки, JavaScript обычно останавливается, и сообщение об ошибке.

Технический термин для этого: JavaScript поднимет (или выбросить) исключение.


throw Заявление

throw заявление позволяет создавать пользовательскую ошибку.

Технически вы можете поднять (бросить) исключение.

Исключение может быть JavaScript Строка, число, логическое или объект:

throw "Too big";    // throw a text
throw 500;          // throw a number

Если вы используете throw вместе с try и catch , вы можете контролировать ход выполнения программы и создания пользовательских сообщений об ошибках.


Пример проверки входных данных

В этом примере рассматривается ввод данных. Если значение неверно, исключение (ERR) выбрасывается.

Исключение (ERR) улавливается заявление об уловах и выводится сообщение об ошибке на заказ:

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>

<script>
function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "empty";
        if(isNaN(x)) throw "not a number";
        x = Number(x);
        if(x < 5) throw "too low";
        if(x > 10) throw "too high";
    }
    catch(err) {
        message.innerHTML = "Input is " + err;
    }
}
</script>

</body>
</html>
Попробуй сам "

HTML Validation

Приведенный выше код является только примером.

Современные браузеры часто используют комбинацию JavaScript и встроенные проверки HTML, используя предопределенные правила проверки, определенные в HTML атрибуты:

<input id="demo" type="number" min="5" max="10" step="1"

Вы можете прочитать больше о валидации форм в более поздней главе этого руководства.


finally Заявление

, finally , заявление позволяет выполнить код, после try и catch , независимо от результата:

try {
    Block of code to try
}
catch(err) {
    Block of code to handle errors
}
finally {
    Block of code to be executed regardless of the try / catch result
}

пример

function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "is empty";
        if(isNaN(x)) throw "is not a number";
        x = Number(x);
        if(x > 10) throw "is too high";
        if(x < 5) throw "is too low";
    }
    catch(err) {
        message.innerHTML = "Error: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
Попробуй сам "