Najnowsze tutoriale tworzenie stron internetowych
 

JavaScript try / catch / finally

<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

Przykłady

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