JavaScript mēģiniet ... noķert ... beidzot paziņojums

Šajā apmācībā jūs uzzināsit par try… catch…, visbeidzot, paziņojumiem, kā rīkoties ar izņēmumiem JavaScript ar piemēru palīdzību.

Par try, catchun finallybloki tiek izmantoti, lai rīkotos izņēmumu (tipa kļūdas). Pirms uzzināt par tiem, jums jāzina par kļūdām programmēšanā.

Kļūdu veidi

Programmējot kodā var būt divu veidu kļūdas:

Sintakses kļūda : kļūda sintaksē. Piemēram, ja jūs rakstāt consol.log('your result');, iepriekš minētā programma rada sintakses kļūdu. Pareizrakstība consoleir kļūda iepriekš minētajā kodā.

Runtime Error : Šāda veida kļūda rodas programmas izpildes laikā. Piemēram,
nederīgas funkcijas vai mainīgā izsaukšana.

Šīs kļūdas, kas rodas izpildlaika laikā, sauc par izņēmumiem . Apskatīsim, kā jūs varat rīkoties ar šiem izņēmumiem.

JavaScript mēģiniet … noķert paziņojumu

try… catchApgalvojums tiek izmantots, lai apstrādātu izņēmumu. Tās sintakse ir:

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

Galvenais kods ir trybloka iekšpusē . Izpildot trybloku, ja rodas kāda kļūda, tas nonāk catchblokā. catchBloks apstrādā kļūdas, kā vienu nozvejas pārskatiem.

Ja nenotiek kļūda, kods tryblokā tiek izpildīts un catchbloks tiek izlaists.

1. piemērs: attēlot nedeklarētu mainīgo

 // 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); )

Rezultāts

 NaN Kļūda ir notverta Kļūdas ziņojums: ReferenceError: a nav definēts

Iepriekš minētajā programmā mainīgais nav definēts. Mēģinot izdrukāt mainīgo, programma rada kļūdu. Šī kļūda ir catchbloķēta.

JavaScript mēģiniet … noķert … beidzot paziņojums

try… catch… finallyIzrakstu var izmantot arī izņēmumu apstrādei. finallyBloks izpilda gan tad kods darbojas sekmīgi vai ja rodas kļūda.

try… catch… finallyBloka sintakse ir:

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

2. piemērs: mēģiniet … noķert … visbeidzot piemērs

 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'); )

Rezultāts

 NaN Kļūda ir notverta Kļūdas ziņojums: ReferenceError: a nav definēts Visbeidzot izpildīs katru reizi

Iepriekš minētajā programmā rodas kļūda, un šo kļūdu uztver catchbloks. finallyBloks veiks jebkurā situācijā (ja programma darbojas veiksmīgi, vai, ja rodas kļūda).

Piezīme . Jums jāizmanto catchvai finallypaziņojums pēc trypaziņojuma. Pretējā gadījumā programma iemetīs kļūdu Nenotverta sintakses kļūda: trūkst nozvejas vai visbeidzot pēc mēģinājuma.

JavaScript mēģiniet … noķeriet setTimeout

try… catchNebūs nozvejas izņēmums, ja tas noticis " laikiestatīta " kodu, tāpat setTimeout (). Piemēram,

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

Iepriekš minētais try… catchnedarbosies, jo dzinējs jau ir atstājis try… catchkonstrukciju un funkcija tiek izpildīta vēlāk.

try… catchBlokam ir jābūt iekšpusē, kuru funkcijas ir panākt izņēmumu iekšpusē noteikta laika funkcija. Piemēram,

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

Varat arī izmantot throwpriekšrakstu kopā ar try… catchpriekšrakstu, lai izmantotu lietotāja definētus izņēmumus. Piemēram, noteikts skaitlis tiek dalīts ar 0 . Ja vēlaties uzskatīt Infinitypar kļūdu programmā, tad, izmantojot rīkojumu, varat izmest lietotāja definētu izņēmumu, throwlai apstrādātu šo nosacījumu.

Jūs uzzināsiet par JavaScript mest paziņojumu nākamajā apmācībā.

Interesanti raksti...