Pagina de start a forumului castiga bani din jocuri
Inregistrare • Cautare • FAQ • Membri • Grupuri • Autentificare
Modalităţi de tratare a erorilor

 
Raspunde la subiect    Pagina de start a forumului castiga bani din jocuri » Tutorial Java Script Subiectul anterior
Subiectul urmator
Modalităţi de tratare a erorilor
Autor Mesaj
WebMaster
Nas Legendar
Nas Legendar


Data inscrierii: 07/Ian/2010
Mesaje: 108

Mesaj Modalităţi de tratare a erorilor Raspunde cu citat (quote)
Modalităţi de tratare a erorilor

Uneori aveţi necesitate de a afişa mesaje de eroare mai inteligibile (sau în alte limbi) decât cele generate standard de înspre JavaScript. Pentru aceasta se folosesc instrucţiunile try/throw/catch. Exemplu:


Cod:

<body>
<script language="JavaScript" type="text/javascript">
<!--
raspuns = prompt("Introduceti un numar:", "")
try
{
if (!raspuns || isNaN(raspuns))
{
throw new Error("Nu este un numar valid")
}
alert("Radacina patrata a numarului " + raspuns + " este " + Math.sqrt(raspuns))
}
catch(errMsg)
{
alert(errMsg.message)
}
-->
</script>
</body>


Să încerc în continuare să explic scriptul de mai sus.

raspuns = prompt("Introduceti un numar:", "")

Afişeaza un prompter natural în care se cere să introduceţi un număr.

try
{

Dacă nu a fost introdus un număr se preia mesajul iniţial de eroare şi se schimbă cu altul. În cadrul instrucţiunii try se verifică dacă utilizatorul a introdus sau nu un număr.

if (!raspuns || isNaN(raspuns))
{
throw new Error("Nu este un numar valid")
}

Aici se verifică dacă utilizatorul a introdus ceva "!raspuns" sau dacă a introdus absolut orice altceva în afară de număr "isNaN(raspuns)"
Dacă expresia "!raspuns" este adevarată, atunci utilizatorul nu a introdus nimic (a apăsat direct enter).
Metoda JavaScript isNaN verifică dacă parametrul care îi este pasat este sau nu numeric (Not a Number). Dacă isNaN() returnează adevărat, ştim că valoarea nu este validă. Oricare ar fi cazul, trebuie să "lansam" (throw) o eroare: în acest context îi vom spune utilizatorului că nu a introdus un număr. Odată ce o eroare a fost lansată, JavaScript iese din blocul de cod try şi caută instrucţiunea catch (prinde) corespunzătoare. Se sare peste toate celelalte linii de cod aflate între throw şi catch.

alert("Radacina patrata a numarului " + raspuns + " este " + Math.sqrt(raspuns))

În cazul în care utilizatorul a introdus corect un număr se afişează rădăcina pătrată a numărului.

}

Aici se închide blocul try.

catch(errMsg)
{
alert(errMsg.message)
}

Aici, în cazul în care a fost lansată o eroare se utilizează blocul catch. Variabila errMsg este pasată ca parametru, şi este afişată partea de mesaj (message) a erorii. Codul din cadrul blocului catch nu va fi executat decât dacă în momentul execuţiei a fost lansată o eroare.

Acest cod are şi o parte opţională, şi anume mai târziu catch se mai poate pune un bloc final {} care poate conţine instrucţiuni care se execută indiferent dacă blocul try lansează sau nu o eroare.
08/01/2010 17:29 Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:    
Raspunde la subiect    Pagina de start a forumului castiga bani din jocuri » Tutorial Java Script Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la: 
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro