Sunteți pe pagina 1din 2

Fisa java script 8

JavaScript – tratarea erorilor Pentru a trata potrivit situatia cand o eroare se produce
puteti adauga o instructiunea try...catch. Cum alert()
In timpul navigarii pe internet, ati vazut la un moment este scris gresit, eroarea se va produce oricum, totusi
dat un alert care va anunta ca exista o eroare de acum blocul catch "prinde" eroarea si executa un cod
executie si intreba "Do you wish to debug?". Mesajele special facut pentru astfel de situatii. Codul afiseaza un
de eroare pot fi utile pentru programatori dar nu pentru mesaj de eroare informand utilizatorul ce sa intamplat.
utilizatori. Cand utilizatorii vad erori, de multe ori
parasesc acea pagina. Ce puteti face pentru a va pastra <html><head>
vizitatorii? <script type="text/javascript">
var txt="";
//variabila globala care este accesata din orice bloc
Exista doua modalitati de tratare (catching) a erorilor
function message()
intr-o pagina web: {
try
- folosind instructiunea try...catch disponibila {
acum in toate browserele adddlert("Welcome guest!");
- folosind evenimentul onerror. Aceasta este }
solutia standard (mai veche) de tratare a catch(err)
erorilor intr-o pagina web {
txt="Draga utilizator, nu te speria, se mai intampla \n\n";
txt+="daca te pricepi si intelegi despre ce poate fi vorba
Instructiunea Try...Catch iata si eroarea:\n\n";
txt+=err.description + "\n\n";
Instructiunea try...catch permite testarea unui bloc de alert(txt);
cod. Blocul try contine codul de rulat iar blocul catch }
contine blocul de executat daca se produce o eroare. }
</script></head>
try <body>
{ <input type="button" value="View message"
//aici ruleaza codul onclick="message()" />
</body></html>
}
catch(err)
Se observa ca in blocul catch nu sunt tratate doar un
{
anumit tip de erori (se presupune ca nu putem sti ce fel
//aici se trateaza erorile
de eroare se poate produce) ;orice eroare este preluata
}
de obiectul err iar proprietatea acestuia .description
Exemplul 1 contine o descriere succinta a erorii .
In urmatorul exemplu vom gasi o modalitate mai
In exemplul de mai jos o greseala (intentionata) elaborata de a trata acceasi problema:
conduce la o eroare. In loc de alert ("Welocome") este
<script type="text/javascript">
scris adddlert("Welcome"); var txt=""
function message()
<html><head> {
<script type="text/javascript"> try
function message() {
{ adddlert("Welcome guest!");
adddlert("Welcome guest!"); }
catch(err)
}
{
</script></head> txt="S-a produs o eroare.\n\n";
txt+="Apasati OK daca doriti sa ramaneti in aceasta
<body> pagina.\n \n";
<input type="button" value="View message" txt+="sau Cancel pentru a reveni la pagina de inceput.\n\
onclick="message()" /> n";
</body> if(!confirm(txt))
</html> {
document.location.href="http://www.w3schools.com/";
}
Daca nu veti primi o eroare explicita sub forma unei }
casete text atunci urmariti mesajele din status bar (din }</script>
partea de jos a ferestrei)

1
Fisa java script 8
In acest exemplu, pe langa explicatiile corespunzatoare
erorii, userul poate sa aleaga intre a ramane in pagina if(er=="Err2")
sau a se intoarce la pagina de start. Retineti si modul {
de utilizare a dialogului confirm si modalitatea de alert("Error! Valoare prea mica");
realizare a transferului catre alta pagina web folosind }
proprietatea .location.href
if(er=="Err3")
{
The Throw Statement alert("Error! Valoarea nu e numar");
}
The throw statement allows you to create an exception.
If you use this statement together with the try...catch }
statement, you can control program flow and generate </script>
accurate error messages. </body>
</html>
Instructiunea throw permite crearea unei exceptii.
Impreuna cu instructiunea try...catch, puteti controla Evenimentul onerror
modul de executie a programului si acuratetea
generarii mesajelor de eroare. Evenimentul onerror este lansat ori de cate ori apare o
eroare in pagina.
throw(exception)
Exemplu Pentru a folosi evenimentul onerror, trebuie creata o
In exemplul de mai jos se determina valoarea unei functie care sa gestioneze erorile. Apoi apelati functia
variabile numita x. Daca valoarea lui x este mai mare cu evenimentul onerror. Functia are 3 parametri: mesaj
decat 10 sau mai mica decat 0 se va "arunca" o eroare. (mesajul de eroare), adresa (adresa paginii care a
Eroarea este apoi "prinsa" de blocul catch (observati produs eroarea) si linie (linia unde s-a produs eroarea)
argumentul er) si un mesaj corespunzator este afisat.
<html>
<html> <head>
<body> <script type="text/javascript">
<script type="text/javascript"> onerror=mesajeErori;
var x=prompt("Introdu un numar intre 0 si 10:",""); var txt="";
try
{ function mesajeErori(mesaj,adresa,linie)
if(x>10) {
{ txt="A fost o eroare in pagina.\n\n";
throw "Err1"; txt+="Eroare " + mesaj + "\n";
} txt+="URL: " + adresa + "\n";
else if(x<0) txt+="Linie: " + linie + "\n\n";
{ txt+="Click OK to continue.\n\n";
throw "Err2"; alert(txt);
} return true;
else if(isNaN(x)) }
{
throw "Err3"; function message()
} {
} adddlert("Welcome guest!");
}
catch(er) </script>
{ </head>

if(er=="Err1") <body>
{ <input type="button" value="View message"
alert("Error! Valoare prea mare"); onclick="message()" />
} </body>

</html>

S-ar putea să vă placă și