Gli ultimi tutorial di sviluppo web
 

JavaScript try / catch / finally

<JavaScript Dichiarazioni di riferimento

Esempio

In questo esempio, abbiamo fatto un errore nel codice (nel blocco try).

L'esempio dovrebbe avvisare "Welcome guest!" , Ma avviso è errato.

Il blocco catch intercetta l'errore, ed esegue un codice per gestire la cosa:

<!DOCTYPE html>
<html>
<body>

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

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

</body>
</html>
Prova tu stesso "

Più "Try it Yourself" esempi di seguito.


Definizione e l'utilizzo

Il try / catch / finally gestisce alcuni o tutti gli errori che possono verificarsi in un blocco di codice, mentre ancora l'esecuzione di codice.

Gli errori possono essere errori di codifica da parte del programmatore, errori dovuti a ingresso sbagliato, e altre cose imprevedibili.

L'istruzione try consente di definire un blocco di codice da testare per errori mentre è in esecuzione.

L'istruzione catch consente di definire un blocco di codice da eseguire, se si verifica un errore nel blocco try.

Il finally permette di eseguire il codice, dopo il try e catch, indipendentemente dal risultato.

Nota: La cattura e, infine, le dichiarazioni sono entrambi opzionali, ma è necessario utilizzare uno di loro (if not both) durante l'uso della istruzione try.

Suggerimento: quando si verifica un errore, JavaScript normalmente fermarsi, e genera un messaggio di errore. Utilizzare il tiro istruzione per creare un errore personalizzato (throw an exception) . Se si usa mettere insieme con try e catch, è possibile controllare il flusso del programma e generare messaggi di errore personalizzati.

Per ulteriori informazioni sugli errori JavaScript, leggere JavaScript Errori Tutorial.


Supporto browser

dichiarazione
try/catch/finally

Sintassi

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
}

valori dei parametri

Parametro Descrizione
tryCode Necessario. Blocco di codice da testare per errori mentre è in corso di esecuzione
err Richiesto se utilizzato con la cattura. Specifica una variabile locale che si riferisce all'errore. La variabile può fare riferimento all'oggetto Error (contiene informazioni sull'errore si è verificato, come il messaggio " 'addlert' non è definito"). Se l'eccezione è stato creato da l'istruzione throw, la variabile si riferisce l'oggetto specificato nella dichiarazione tiro (vedi "Altre Esempi")
catchCode Opzionale. Blocco di codice da eseguire, se si verifica un errore nel blocco try. Se si verifica alcun errore, questo blocco di codice non viene mai eseguito
finallyCode Opzionale. Blocco di codice da eseguire indipendentemente dal / risultato tentativo di cattura

Dettagli tecnici

Versione JavaScript: 1.4

Esempi

Altri esempi

Esempio

Questo esempio ha per oggetto ingresso. Se il valore è sbagliato, un'eccezione (err) viene generata.

L'eccezione (err) è catturato da l'istruzione catch e viene visualizzato un messaggio di errore personalizzato:

<!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>
Prova tu stesso "

Esempio

Il finally permette di eseguire il codice, dopo il try e catch, indipendentemente dal risultato:

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 = "";
    }
}
Prova tu stesso "

Pagine correlate

JavaScript Tutorial: errori JavaScript

JavaScript Riferimento: JavaScript tiro Statement


<JavaScript Dichiarazioni di riferimento