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
= "";
}
}
Попробуй сам "