JavaScript încearcă ... prinde ... în cele din urmă Declarație

În acest tutorial, veți afla despre try … catch … în cele din urmă declarații pentru a gestiona excepțiile în JavaScript cu ajutorul exemplelor.

De try, catchși finallyblocurile sunt folosite pentru a manipula excepții (un tip de eroare). Înainte de a afla despre ele, trebuie să știți despre tipurile de erori din programare.

Tipuri de erori

În programare, pot exista două tipuri de erori în cod:

Eroare de sintaxă : Eroare în sintaxă. De exemplu, dacă scrieți consol.log('your result');, programul de mai sus aruncă o eroare de sintaxă. Ortografia lui consoleeste o greșeală în codul de mai sus.

Runtime Error : Acest tip de eroare apare în timpul executării programului. De exemplu,
apelarea unei funcții nevalide sau a unei variabile.

Aceste erori care apar în timpul rulării se numesc excepții . Acum, să vedem cum puteți gestiona aceste excepții.

JavaScript încercați … capturați declarația

Instrucțiunea try… catcheste utilizată pentru a gestiona excepțiile. Sintaxa sa este:

 try ( // body of try ) catch(error) ( // body of catch )

Codul principal se află în interiorul tryblocului. În timpul executării tryblocului, dacă apare o eroare, acesta merge la catchbloc. catchBlocul se ocupă de erorile ca pe declarațiile de captură.

Dacă nu apare nicio eroare, codul din interiorul tryblocului este executat și catchblocul este omis.

Exemplul 1: Afișează variabila nedeclarată

 // program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Ieșire

 NaN O eroare surprinsă Mesaj de eroare: ReferenceError: a nu este definit

În programul de mai sus, o variabilă nu este definită. Când încercați să imprimați variabila a, programul aruncă o eroare. Această eroare este prinsă în catchbloc.

JavaScript încearcă … prinde … în cele din urmă Declarație

De asemenea, puteți utiliza try… catch… finallyinstrucțiunea pentru a gestiona excepțiile. finallyBlocul execută atât atunci când codul se execută cu succes sau în cazul în care apare o eroare.

Sintaxa try… catch… finallyblocului este:

 try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )

Exemplul 2: încercați … prindeți … în cele din urmă Exemplu

 const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )

Ieșire

 NaN O eroare surprinsă Mesaj de eroare: ReferenceError: a nu este definit În cele din urmă se va executa de fiecare dată

În programul de mai sus, apare o eroare și această eroare este prinsă de catchbloc. finallyBlocul se va executa în orice situație ( în cazul în care programul se execută cu succes sau în cazul în care apare o eroare).

Notă : Trebuie să utilizați catchsau finallydeclarație după trydeclarație. În caz contrar, programul va arunca o eroare Uncaught SyntaxError: Lipsește captura sau, în cele din urmă, după încercare.

JavaScript încearcă … captează setTimeout

Nu try… catchva prinde excepția dacă s-a întâmplat în codul „ temporizat ”, ca în setTimeout (). De exemplu,

 try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )

Cele de mai sus try… catchnu vor funcționa, deoarece motorul a părăsit deja try… catchconstrucția și funcția este executată mai târziu.

try… catchBlocul trebuie să fie în interiorul acestei funcții pentru a prinde o excepție în interiorul unei funcții temporizat. De exemplu,

 setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);

De asemenea, puteți utiliza throwinstrucțiunea cu try… catchinstrucțiunea pentru a utiliza excepții definite de utilizator. De exemplu, un anumit număr este împărțit la 0 . Dacă doriți să considerați Infinityo eroare în program, atunci puteți arunca o excepție definită de utilizator folosind throwinstrucțiunea pentru a gestiona acea condiție.

Veți afla despre declarația JavaScript throw în următorul tutorial.

Articole interesante...