Ultimele tutoriale de dezvoltare web
 

JavaScript Erori - Arunca și încearcă să prindă


try Declarația vă permite să testați un bloc de cod pentru erori.

De catch declarație vă permite să se ocupe de eroare.

throw declarație vă permite să creați erori personalizate.

Declarația în cele din urmă vă permite să execute cod, după încercare și de captură, indiferent de rezultat.


Erori se va întâmpla!

Atunci când se execută cod JavaScript, pot apărea diferite erori.

Erorile pot fi erori de codare făcute de către programator, erori datorate de intrare greșită, și alte lucruri imprevizibile:

Exemplu

<!DOCTYPE html>
<html>
<body>

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

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
Încearcă - l singur »

In exemplul de mai sus , am făcut o greșeală de scriere în codul (în blocul try).

catch Blocul prinde eroarea, și execută codul să - l ocupe.


JavaScript try și catch

try Declarația vă permite să definiți un bloc de cod care urmează să fie testat pentru erori în timp ce este executat.

De catch declarație vă permite să definiți un bloc de cod care urmează să fie executat, în cazul în care apare o eroare în blocul try.

Declarațiile JavaScript try și catch vin în perechi:

try {
    Block of code to try
}
catch(err) {
    Block of code to handle errors
}

JavaScript poate ridica Erori

Atunci când apare o eroare, JavaScript va opri în mod normal, și generează un mesaj de eroare.

Termenul tehnic pentru acest lucru este: JavaScript va crește (or throw) o excepție.


throw Declarația

throw declarație vă permite să creați o eroare personalizată.

Punct de vedere tehnic se poate ridica (throw) o excepție.

Excepția poate fi un șir JavaScript, un număr, un boolean sau un obiect:

throw "Too big";    // throw a text
throw 500;          // throw a number

Dacă utilizați throw împreună cu try și de catch , puteți controla fluxul de programe și de a genera mesaje de eroare personalizate.


Exemplu Validare intrare

Acest exemplu examinează de intrare. Dacă valoarea este greșită, o excepție (err) este aruncat.

Excepția (err) este prins de declarația de captură și este afișat un mesaj de eroare personalizat:

<!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>
Încearcă - l singur »

HTML de validare

Codul de mai sus este doar un exemplu.

browserelor moderne vor folosi adesea o combinație de JavaScript și built-in de validare HTML, folosind reguli de validare predefinite definite în atribute HTML:

<input id="demo" type="number" min="5" max="10" step="1"

Puteți citi mai multe despre validare formulare într-un capitol ulterior al acestui tutorial.


În finally din finally Declarația

În finally din try catch finally declarație vă permite să execute cod, după try și de catch , indiferent de rezultat:

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
}

Exemplu

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 = "";
    }
}
Încearcă - l singur »