JavaScript probeer...vang...uiteindelik
Voorbeeld
Hierdie voorbeeld het 'n tikfout in die probeerblok . Alert is verkeerd gespel.
Die vangblok vang die fout op en voer die kode uit om dit te hanteer:
<p id="demo"></p>
<script>
try {
adddlert("Welcome guest!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
Meer voorbeelde hieronder.
Definisie en gebruik
Wanneer 'n fout voorkom, sal JavaScript stop en 'n foutboodskap genereer.
Let wel
Die tegniese term hiervoor is: JavaScript gooi 'n uitsondering .
JavaScript skep 'n Fout-objek met twee eienskappe: naam en boodskap .
Die try...catch...finally
stellings-kombinasie hanteer foute sonder om JavaScript te stop.
Die try
stelling definieer die kodeblok wat uitgevoer moet word (om te probeer).
Die catch
stelling definieer 'n kodeblok om enige fout te hanteer.
Die finally
stelling definieer 'n kodeblok om te hardloop, ongeag die resultaat.
Die throw
stelling definieer 'n pasgemaakte fout.
Beide catch
en finally
is opsioneel, maar jy moet een van hulle gebruik.
Let wel
Deur gooi met probeer en vang te gebruik , kan jy programvloei beheer en persoonlike foutboodskappe genereer.
Sien ook:
Sintaksis
try {
tryCode - Code block to run
}
catch(err) {
catchCode -
Code block to handle errors
}
finally {
finallyCode - Code block to be executed regardless of the try result
}
Grense
Parameter | Description |
tryCode | Required. Code block to be tested while executing. |
err | A local reference to the error object. |
catchCode | Optional. Code block to execute if an error occurs. |
finallyCode | Optional. Code block to execute regardless of the try result |
Meer voorbeelde
Hierdie voorbeeld ondersoek insette.
As die waarde verkeerd is, word 'n uitsondering (fout) gegooi:
<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() {
const message =
document.getElementById("message");
message.innerHTML = "";
let 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>
Die finally -stelling voer kode uit, na ongeag die probeerresultaat:
function myFunction()
const message =
document.getElementById("message");
message.innerHTML = "";
let 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 = "";
}
}
Blaaierondersteuning
try...catch
is 'n ECMAScript3 (ES3) kenmerk.
ES3 (JavaScript 1999) word ten volle ondersteun in alle blaaiers:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |