<JavaScript Oświadczenia referencyjny
Przykład
W tym przykładzie, zrobiliśmy literówkę w kodzie (w bloku try).
Przykładem ma ostrzegać "Welcome guest!" , Ale alarm jest błędnie.
Blok catch łapie błąd i wykonuje kod, aby go obsługiwać:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
try {
adddlert("Welcome guest!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
</body>
</html>
Spróbuj sam " Więcej "Try it Yourself" przykłady poniżej.
Definicja i Wykorzystanie
Try / catch / finally obsługuje niektóre lub wszystkie błędy, które mogą wystąpić w bloku kodu, podczas gdy nadal działa kod.
Błędy mogą być błędy popełnione przez programistę, błędy spowodowane niewłaściwym wejścia i innych nieprzewidywalnych rzeczy kodowania.
Instrukcja try pozwala zdefiniować blok kodu zostać sprawdzony pod kątem błędów, podczas gdy jest on wykonywany.
Oświadczenie haczyk pozwala zdefiniować blok kodu do wykonania, w przypadku wystąpienia błędu w bloku try.
Instrukcja finally pozwala wykonać kod, po spróbować połowu, niezależnie od wyniku.
Uwaga: łapać i ostatecznie oba stwierdzenia są opcjonalne, ale trzeba użyć jednego z nich (if not both) podczas korzystania z instrukcji try.
Wskazówka: W przypadku wystąpienia błędu, JavaScript będzie normalnie zatrzymać i generuje komunikat o błędzie. Użyj rzut oświadczenie do tworzenia niestandardowego błędu (throw an exception) . Jeśli używasz wyrzucić razem z spróbować połowu, można kontrolować przepływ programu oraz generowanie niestandardowych komunikatów o błędach.
Aby uzyskać więcej informacji na temat błędów JavaScript odczytać JavaScript Błędy samouczek.
Wsparcie przeglądarka
Komunikat | |||||
---|---|---|---|---|---|
try/catch/finally | tak | tak | tak | tak | tak |
Składnia
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
}
wartości parametrów
Parametr | Opis |
---|---|
tryCode | Wymagany. Blok kodu być testowane pod kątem błędów, podczas gdy jest on wykonywany |
err | Wymagane, jeżeli używane z połowu. Określa zmienną lokalną, która odnosi się do błędu. Zmienna może odnosić się do obiektu błędu (zawiera informacje o Wystąpił błąd, podobnie jak komunikat „«addlert»nie jest zdefiniowane”). Jeśli wyjątek został stworzony przez instrukcję projekcji zmienna odnosi się do określonego obiektu w zestawieniu projekcji (patrz „inne przykłady”) |
catchCode | Opcjonalny. Blok kodu do wykonania, w przypadku wystąpienia błędu w bloku try. Jeśli nie wystąpi błąd, to blok kodu nie jest wykonywany |
finallyCode | Opcjonalny. Blok kodu do wykonania, niezależnie od try / catch wyniku |
Szczegóły techniczne
JavaScript wersja: | 1.4 |
---|
Więcej przykładów
Przykład
Ten przykład bada wejście. Jeżeli wartość ta jest nieprawidłowa, wyjątek (err) jest wyrzucany.
Wyjątkiem (err) zostaje złapany przez instrukcję catch i wyświetlany jest komunikat o błędzie zwyczaj:
<!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>
Spróbuj sam " Przykład
Instrukcja finally pozwala wykonać kod, po spróbować połowu, niezależnie od wyniku:
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
= "";
}
}
Spróbuj sam " Podobne strony
JavaScript Tutorial: błędy JavaScript
JavaScript referencyjny: JavaScript komunikat rzut
<JavaScript Oświadczenia referencyjny