[Tutorial JS] Modalitati de tratare a erorilor

#1
Nume Tutorial: Modalitati de tratare a erorilor
Descriere: Modalitati de tratare a erorilor
Download:
Autor: Anonim
Sursa (Link-ul oficial):
tutorialeonline
Propria parere: Folositor.
Tutorialul:

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

Cod: Selectaţi tot

<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 normal î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 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ă "lansăm" (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 timpul execuţiei a fost lansată o eroare.
Acest cod are şi o parte opţională, şi anume după 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.

Înapoi la “Tutoriale JS”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 1 vizitator