Velikokrat, ko brskate po svetovnem spletu, se vam zgodi, da se na strani, ki jo pregledujete pojavijo napake v Javascriptu. Če imate vključen očiščevalnik, se vam pojavi opozorilno okno, ki sporoča, da je prišlo do napake in vsa vpraša, če želite stran pregledati z očiščevalnikom ("Do you wish to debug?“). Takšna opozorilna okna so uporabna za razvijalce spletnih strani, ne pa za njihove uporabnike. Te napake lahko ulovimo s pomočjo stavka try...catch ali s pomočjo zaznave dogodka onerror (to je starejša različica lovljenja napak, ki jo je ilo možno uporabiti že v brskalniku Netscape 3).
Primer lovljenja napak s pomočjo stavka try ... catch
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
<html>
<head>
<script type="text/javascript">
<html>
<head>
<script type="text/javascript">
<html>
<head>
<script type="text/javascript">
try
{ adddlert("Dobrodosli!")}
catch(err)
{
txt="Na tej strani je napaka.\n\n"
txt+="Opis napake: " + err.description + "\n\n"
txt+="Kliknite v redu za nadaljevanje.\n\n"
alert(txt)
}
} </script>
</head>
<body>
<input type="button" value="Poglej sporocilo" onclick="message()" />
</body>
</html>
Uporaba potrditvenega okna pri lovljenju izjem
<html>
<head>
<script type="text/javascript">
var txt=""
function Sporocilo()
{
try
{
adddlert("Dobrodosli!")
}
catch(err)
{
txt="Na tej spletni strani je napaka.\n\n"
txt+="Kliknite V redu da si ogledate to stran,\n"
txt+="ali kliknite Preklici da se vrnete na prejsno stran.\n\n"
if(!confirm(txt))
{
document.location.href="http://www.feri.uni-mb.si/"
}
}
}
</script>
</head>
<body>
<input type="button" value="Poglej sporocilo" onclick="Sporocilo()" />
</body>
</html>
Vrnitev različnih vrst napak ob nepravilnem vnosu
<html>
<body>
<script type="text/javascript">
var x=prompt("Vpisite eno stevilo med 0 in 10:","");
try
{
if(x>10) throw "Napaka1"
else if(x<0)throw "Napaka2"
else if(isNaN(x)) throw "Napaka3"
}
catch(er)
{
if(er=="Napaka1")
alert("Napaka! Stevilo je preveliko.")
if(er == "Napaka2")
alert("Napaka! Stevilo je premajhno.")
if(er == "Napaka3")
alert("Napaka! To ni stevilka.")
}
</script>
</body>
Obravnava napak s pomočjo lovljenja dogodka onerror
<html>
<head>
<script type="text/javascript">
onerror=Obravnava_napak;
var txt=""
function Obravnava_napak(sporocilo,url,st_vrstice)
{
txt="Na tej strani je napaka.\n\n";
txt+="Napaka: " + sporocilo + "\n";
txt+="URL: " + url + "\n";
txt+="Vrstica: " + st_vrstice + "\n\n";
txt+="Kliknite v redu za nadaljevanje.\n\n";
alert(txt);
return true;
}
function Sporocilo()
{
adddlert("Dobrodosli!");
}
</script>
</head>
<body>
<input type="button" value="Poglej sporocilo" onclick="Sporocilo()" />
</body>
</html>