|
1. Greške će se desiti! |
3. JavaScript pokušaj i uhvati |
|
Kada se izvršava
Javascript kod, različite se greške mogu dogoditi: Mogu biti sintaksne greške, tipične greške u kodiranju koji je napravio programer. Mogu biti nedostaci jezika (možda zbog razlike u pretraživačima) Mogu biti greške zbog pogrešnog unosa korisnika, ili od strane Internet servera. I naravno, i može biti mnogo drugih nepredvidljivih stvari. |
Try izjava omogućava ti da
definišeš blok koda da se testira na greške dok se izvršava. Catch izjava omogućava ti da definišeš blok koda da se izvrši, ako se desi greška u try bloku. Javascript izjave try i catch dolaze u parovima. Sintaksa try { //Pokreni neki kod ovdje } catch(err) { //Barataj sa greškama } |
|
2.JavaScript bacanje grešaka |
||
Kada se desi greška, kada nešto
krene loše, Javascript mašina će naravno stati, i poslati poruku
greške. Tehnički termin za ovo je: javascript će throw(baciti) grešku. |
||
4. Primjeri |
5. Throw izjava |
|
U primjeru ispod namjerno smo napravili grešku u
try bloku. Catch blok hvata grešku iz try bloka, i izvršava kod da sredi grešku: |
Throw izjava omogućava ti da
kreiraš prilagođene greške. |
|
<!DOCTYPE html> <html> <head> <script> var txt=""; function message() { try { adddlert("Dobrodošli!"); } catch(err) { txt="Bila je greška na ovoj stranici.\n\n"; txt+="Opis greške: " + err.message + "\n\n"; txt+="Klikni OK da nastaviš.\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="Vidi poruku" onclick="message()"> </body> </html> |
Sintaksa throw exception Exception može biti javascript string, broj, boolean ili objekat
|
|
6. Primjeri |
|
|
Ovaj primjer ispituje vrijednost unesene promjenjive. Ako je vrijednost pogrešna, bačena je greška. Greška je uhvaćena sa catch izjavom i prilagođena poruka za grešku je prikazana: | ||
<html> <body> <script> function myFunction() { try { var x=document.getElementById("demo").value; if(x=="") throw "prazno"; if(isNaN(x)) throw "nije broj"; if(x>10) throw "prevelik"; if(x<5) throw "premalen"; } catch(err) { var y=document.getElementById("mess"); y.innerHTML="Error: " + err + "."; } } </script> <h1>Moj prvi javascript</h1> <p>Molim vas unesite broj između 5 i 10:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Test Input</button> <p id="mess"></p> </body> </html> |
||