Î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.








