JavaScript Try...Catch Lausung
Try...catch lausung võimaldab testida koodi blokki rikete puhul.
Näited:
Try...catch lausung
Selles näites demonstreeritakse kuidas kirjutada "try..catch" lausungit.
Try...catch lausung-2
Siin on veel üks "try..catch" lausung.
JavaScript - Catching Errors
Intrneti veebilehtedes liikudes võib aegajalt näha teate-akent: "There is a runtime error! Do you wish to debug?". Veebilehe külastajale pole see teade vajalik, küll aga veebiarendajale. Nähes sellist teate-akent, külastaja tavaliselt lahkub sellelt lehelt.
Vaatame kuidas toimida selliste rikketeadete ilmumisel. Try...catch lausung lubab kontrollida vigade olemasolu koodi-blokis. "try" blokk sisaldab koodi mis peab käivituma ja "catch" blokis on kood mis käivitub kui rike tuvastatakse.
Süntaks:
try
{
//Siia kirjuta mingi kood
}
catch(err)
{
//Siin tegeletakse vigadega
}
Pane tähele: "try" ja "catch" tuleb kirjutada väikeste tähtedega.
Näide 1:
Selles näites peaks nupule klikkides käivituma skript, mille tulemusena ilmub teate-aken tekstiga "Tere külaline!".
Sõna "alert()" on kirjutatud valesti, seega ilmub teate-aken informatsiooniga JavaScript'i rikke kohta:
<html>
<head>
<script type="text/javascript">
function message()
{
adddlert("Tere külaline!");
}
</script>
</head>
<body>
<input type="button" value="Vaata teadet" onclick="message()" />
</body>
</html>
Näide 2:
Selles näites "try...catch" lausung võimaldab kasutjal näha, millise rikkega on tegemist:
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Tere külaline!");
}
catch(err)
{
txt="There was an error on this page.\n\n";
txt+="Error description: " + err.description + "\n\n";
txt+="Click OK to continue.\n\n";
alert(txt);
}
}
</script>
</head>
<body>
<input type="button" value="Vaata teadet" onclick="message()" />
</body>
</html>
Näide 3:
Selles näites kasutatakse "confirm box'i". See annab kasutajale võimaluse valida, kas vajutada "OK" v. "Cancel". Esimesel juhul jätkatakse lehekülje vaatamist. Teisel juhul suunatakse kasutaja ümber.
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Tere külaline!");
}
catch(err)
{
txt="There was an error on this page.\n\n";
txt+="Click OK to continue viewing this page,\n";
txt+="or Cancel to return to the home page.\n\n";
if(!confirm(txt))
{
document.location.href="http:
//pyramdesign.angelfire.com/pyramdesign.html/";
}
}
}
</script>
</head>
<body>
<input type="button" value="Vaata teadet" onclick="message()" />
</body>
</html>
JavaScript Throw Lausung
"throw" lausung võimaldab luua erandeid. Kasutades seda lausungit koos "try...catch" lausungiga saab hoida programmi kontrolli all ning luua täpsema vea-teate.
Süntaks:
throw(exception)
Pane tähele: "throw" kirjutatakse väikeste tähtedega.
Näide:
Selles näites nimetatakse muutja väärtust x. Kui x väärtus on suurem kui 10 ja väiksem kui 0 siis "throw" lausung käivitab vea-teate:
<html>
<body>
<script type="text/javascript">
var x=prompt("Sisesta number 0 kuni 10:","");
try
{
if(x>10)
throw "Err1";
else if(x<0)
throw "Err2";
}
catch(er)
{
if(er=="Err1")
alert("Viga! Number on liiga suur");
if(er == "Err2")
alert("Viga! Number on liiga vaike");
}
</script>
</body>
</html>