Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК СДЕЛАТЬ
     ❯   

JS Справочник


JavaScript

Модификаторы: Группы: Метасимволы: Квантификаторы: Свойства: Методы:

Window


HTML DOM


HTML События


Web APIs


HTML Объекты


Другие ссылки




JavaScript try/catch/finally



Операторы try...catch...finally

Пример

В этом примере есть опечатка в блоке try, предупреждение написано с ошибкой.

Блок catch перехватывает ошибку и выполняет код для ее обработки:

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

<script>
try {
  adddlert("Добро пожаловать!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>
Попробуйте сами »

Смотрите примеры ниже.


Описание

При возникновении error JavaScript остановится и выдаст сообщение об ошибке.

Примечание

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

JavaScript создает объект error с двумя свойствами: name и message.

Комбинация операторов try...catch...finally обрабатывает ошибки без остановки JavaScript.

Оператор try определяет блок кода, который нужно запустить (попробовать).

Оператор catch определяет блок кода для обработки любой ошибки.

Оператор finally определяет блок кода, который будет выполняться независимо от результата.

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

Операторы catch и finally не являются обязательными, но вы должны использовать один из них.

Примечание

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

См. также:

JavaScript throw

JavaScript Error Объекты

JavaScript Учебник Error


Синтаксис

try {
  tryCode - Блок кода для запуска
}
catch(err) {
  catchCode - Блок кода для обработки ошибок
}
finally {
  finallyCode - Блок кода, который будет выполнен независимо от результата попытки
}

Параметры

Параметр Описание
tryCode Обязательно.
Блок кода, который необходимо протестировать во время выполнения.
err Локальная ссылка на объект ошибки.
catchCode Oнеобязательно.
Блок кода, который будет выполняться в случае возникновения ошибки.
finallyCode Oнеобязательно.
Блок кода, который будет выполняться независимо от результата попытки


Ещё примеры

Этот пример проверяет входные данные.

Если значение неверно, выдается исключение (err):

<p>Пожалуйста, введите число от 5 до 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Тестовый ввод</button>
<p id="message"></p>

<script>
function myFunction() {
  const message = document.getElementById("message");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "Пусто";
    if(isNaN(x)) throw "нет числа";
    if(x > 10) throw "слишком много";
    if(x < 5) throw "слишком мал";
  }
  catch(err) {
    message.innerHTML = "Ввод " + err;
  }
}
</script>
Попробуйте сами »

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

function myFunction()
  const message = document.getElementById("message");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "Пусто";
    if(isNaN(x)) throw "Нет числа";
    if(x > 10) throw "Слишком много";
    if(x < 5) throw "Слишком мал";
  }
  catch(err) {
    message.innerHTML = "Error: " + err + ".";
  }
  finally {
    document.getElementById("demo").value = "";
  }
}
Попробуйте сами »

Поддержка браузера

try...catch — это функция ECMAScript3 (ES3).

ES3 (JavaScript 1999) полностью поддерживается во всех браузерах:

Chrome Edge Firefox Safari Opera IE
Да Да Да Да Да Да


×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.