пример
В этом примере мы сделали опечатку в коде (в блоке TRY).
Пример должен предупредить "Welcome guest!" , "Welcome guest!" , Но предупреждение опечатка.
Блок поймать перехватывает ошибку, и выполняет код , чтобы справиться с этим:
<!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 it Yourself" примеры ниже.
Определение и использование
Попытка / поймать / наконец оператор обрабатывает некоторые или все ошибки, которые могут возникнуть в блоке кода, в то же время выполнение кода.
Ошибки могут быть кодирования ошибки, сделанные программистом, ошибки из-за неправильного ввода, и других непредсказуемых вещей.
Заявление попытки позволяет определить блок кода , который будет испытана на ошибки при его выполнении.
Оператор задвижки позволяет определить блок кода , который будет выполняться, если ошибка происходит в блоке Try.
Наконец оператор позволяет выполнить код, после того, как попытаться поймать, независимо от результата.
Примечание: Выгода и , наконец , заявления являются необязательными, но вы должны использовать один из них (if not both) , а с помощью оператора Try.
Совет: При возникновении ошибки JavaScript обычно останавливается, и сообщение об ошибке. Используйте перекидное заявление , чтобы создать пользовательскую ошибку (throw an exception) . Если вы используете бросить вместе с попытаться поймать, вы можете контролировать ход выполнения программы и создание пользовательских сообщений об ошибках.
Для получения дополнительной информации об ошибках JavaScript, зачитывает JavaScript Ошибки Учебник.
Поддержка браузеров
утверждение | |||||
---|---|---|---|---|---|
try/catch/finally | да | да | да | да | да |
Синтаксис
try {
tryCode - Block of code to try
}
catch( err ) {
catchCode -
Block of code to handle errors
}
finally {
finallyCode - Block of
code to be executed regardless of the try / catch result
}
Значения параметров
параметр | Описание |
---|---|
tryCode | Необходимые. Блок кода для проверки на наличие ошибок во время ее выполнения |
err | Требуется, если используется с уловом. Определяет локальную переменную, которая ссылается на ошибку. Переменная может ссылаться на объект Error (содержит информацию о произошедшей ошибке, как сообщение «„addlert“не определен»). Если исключение было создано заявление броска, переменная ссылается на объект, указанный в заявлении вбрасывания (см «Дополнительные примеры») |
catchCode | Необязательный. Блок кода, который будет выполняться, если ошибка происходит в блоке Try. Если ошибка не возникнет, этот блок кода никогда не выполняется |
finallyCode | Необязательный. Блок кода, который будет выполняться независимо от результата TRY / поймать |
Технические подробности
Версия JavaScript: | 1.4 |
---|
Еще примеры
пример
Этот пример анализирует входной сигнал. Если значение неверно, исключение (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 "is Empty";
if(isNaN(x)) throw "not a number";
if(x > 10) throw "too high";
if(x < 5) throw "too low";
}
catch(err) {
message.innerHTML =
"Input " + err;
}
}
</script>
</body>
</html>
Попробуй сам " пример
Наконец оператор позволяет выполнить код, после того, как попытаться поймать, независимо от результата:
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";
if(x >
10) throw "Too high";
if(x <
5) throw "Too low";
}
catch(err)
{
message.innerHTML = "Error: " +
err + ".";
}
finally {
document.getElementById("demo").value
= "";
}
}
Попробуй сам " Похожие страницы
JavaScript Учебник: Ошибки JavaScript
JavaScript Ссылка: JavaScript бросить себе
<JavaScript Заявления Ссылка