Estratto JavaScript try/catch/finally
- Pagina precedente throw
- Pagina successiva var
- Torna alla pagina precedente Manuale di Referenza Statement JavaScript
Definizione e uso
L'istruzione try/catch/finally gestisce gli errori che possono verificarsi in parte o interamente all'interno di un blocco di codice, mantenendo comunque l'esecuzione del codice.
Gli errori possono essere causati da errori di codifica del programmatore, errori di input e altre situazioni impreviste.
L'istruzione try ti permette di definire un blocco di codice che deve essere testato per errori durante l'esecuzione.
Se si verifica un errore nel blocco try, l'istruzione catch permette di definire il blocco di codice da eseguire.
L'istruzione finally permette di eseguire codice dopo il try e il catch, indipendentemente dal risultato.
Nota:Le istruzioni catch e finally sono opzionali, ma devono essere utilizzate una di esse (o entrambe) quando si utilizza l'istruzione try.
Suggerimento:Quando si verifica un errore, JavaScript di solito si ferma e genera un messaggio di errore. Usa l'istruzione throw per creare errori personalizzati (lancia eccezioni). Se si utilizza throw insieme a try e catch, è possibile controllare il flusso del programma e generare messaggi di errore personalizzati.
Per ulteriori informazioni sugli errori JavaScript, consulta la guida agli errori JavaScript.
Example
In questo esempio, abbiamo commesso un errore di battitura nel codice (nel blocco try).
Questo esempio dovrebbe mostrare "Benvenuto ospite!", ma c'è un errore di battitura nell'alert.
Il blocco catch cattura gli errori ed esegue il codice per gestirli:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Benvenuto ospite!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
Più esempi TIY sono disponibili nella parte inferiore della pagina.
Sintassi
try { tryCode - Blocco di codice da tentare } catch(err) { catchCode - Blocco di codice per gestire gli errori } finally { finallyCode - Blocco di codice da eseguire indipendentemente dal risultato di try / catch }
Valore del parametro
Parametro | Descrizione |
---|---|
tryCode | Obbligatorio. Blocco di codice da testare durante l'esecuzione per verificare l'errore. |
err | Obbligatorio, se utilizzato con catch. Specifica il variabile locale di riferimento dell'errore. Questa variabile può riferirsi all'oggetto Error (che contiene informazioni sull'errore che si è verificato, ad esempio il messaggio "'addlert' is not defined"). Se l'eccezione è stata creata da una istruzione throw, la variabile si riferisce all'oggetto specificato nell'istruzione throw (vedi "Ulteriori esempi"). |
catchCode | Opzionale. Blocco di codice da eseguire se si verifica un errore nel blocco try. Se non si verifica alcun errore, questo blocco di codice non verrà mai eseguito. |
finallyCode | Opzionale. Blocco di codice da eseguire indipendentemente dal risultato di try / catch. |
Dettagli tecnici
JavaScript version: | ECMAScript 3 |
---|
More examples
Example
This example checks the input. If the value is incorrect, it throws an exception (err).
The catch statement catches exceptions (err) and displays a custom error message:
<!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>
Example
The finally statement allows you to execute code after try and catch, regardless of the result:
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 = ""; } }
browser support
语句 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Supporto | Supporto | Supporto | Supporto | Supporto |
Pagine correlate
Tutorial JavaScript:Errore JavaScript
Manuale di riferimento JavaScript:Espressione throw JavaScript
- Pagina precedente throw
- Pagina successiva var
- Torna alla pagina precedente Manuale di Referenza Statement JavaScript