JavaScript try/catch/finally-statement
- Forrige side throw
- Næste side var
- Gå tilbage til forrige niveau JavaScript sætning referencehåndbog
Definition og brug
Try/catch/finally-statementet håndterer delvise eller alle fejl, der kan opstå i en kodeblok, mens koden stadig kører.
Fejl kan skyldes programmererens fejl i koden, fejl i input, eller andre uforudsete situationer.
Try-statementen giver dig mulighed for at definere en kodeblok, der skal testes for fejl under udførelse.
Hvis der opstår en fejl i try-blokken, giver catch-sætningen dig mulighed for at definere en kodeblok, der skal udføres.
finally-sætningen tillader dig at udføre kode efter try og catch, uanset resultatet.
Bemærkning:catch- og finally-sætningerne er valgfrie, men en af dem skal bruges, når try-sætningen bruges (medmindre de bruges samtidig).
Tip:Når en fejl opstår, stopper JavaScript normalt og genererer en fejlmeddelelse. Brug throw-sætningen til at oprette brugerdefinerede fejl (kaste undtagelser). Hvis du bruger throw sammen med try og catch, kan du kontrollere programflowet og generere brugerdefinerede fejlmeddelelser.
For mere information om JavaScript-fejl, lær JavaScript-fejlshandlingstutorial.
Example
I dette eksempel har vi foretaget en fejl i teksten i koden (i try-blokken).
Dette eksempel skulle vise "Velkommen gæst!", men alert stavningen er forkert.
catch-blokken fanger fejl og udfører kode til at håndtere dem:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Velkommen gæst!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
Der er flere TIY-eksempler nedenfor på siden.
Syntaks
try { tryCode - Kodeblok, der skal prøves } catch(err) { catchCode - Kodeblok til håndtering af fejl } finally { finallyCode - Kodeblok, der skal udføres uanset resultatet af try / catch }
Parameterværdi
Parameter | Beskrivelse |
---|---|
tryCode | Obligatorisk. Kodeblokken skal testes for fejl under udførelse. |
err | Obligatorisk, hvis brugt sammen med catch. Angiver den lokale variabel, der refererer til fejlen. Denne variabel kan referere til Error-objektet (som indeholder oplysninger om den opstående fejl, f.eks. beskeden "'addlert' er ikke defineret"). Hvis undtagelsen er oprettet af en throw-sætning, refererer variablen til objektet specificeret i throw-sætningen (se "Flere eksempler"). |
catchCode | Valgfri. Hvis der opstår en fejl i try-blokken, skal denne kodeblok køres. Hvis der ikke opstår en fejl, vil denne kodeblok aldrig blive kørt. |
finallyCode | Valgfri. Uanset resultatet af try / catch skal denne kodeblok altid køres. |
Teknisk detalje
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 supports
语句 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Support | Support | Support | Support | Support |
Relaterede sider
JavaScript tutorial:JavaScript fejl
JavaScript referencehåndbog:JavaScript throw sætning
- Forrige side throw
- Næste side var
- Gå tilbage til forrige niveau JavaScript sætning referencehåndbog