„JavaScript“ pabandykite ... pagauti ... pagaliau pareiškimas

Šioje pamokoje sužinosite apie „try… catch…“ galiausiai teiginius, kaip tvarkyti išimtis „JavaScript“ naudojant pavyzdžius.

Į try, catchir finallyblokai yra naudojami apdoroti išimtis (a klaidos rūšis). Prieš sužinodami apie juos, turite žinoti apie klaidų tipus programuojant.

Klaidų tipai

Programuojant kode gali būti dviejų tipų klaidos:

Sintaksės klaida : sintaksės klaida . Pavyzdžiui, jei rašote consol.log('your result');, aukščiau pateikta programa išmeta sintaksės klaidą. Rašyba consoleyra klaida aukščiau pateiktame kode.

Klaida : tokio tipo klaida įvyksta vykdant programą. Pavyzdžiui,
iškvietus netinkamą funkciją ar kintamąjį.

Šios klaidos, įvykusios vykdymo metu, vadinamos išimtimis . Dabar pažiūrėkime, kaip galite tvarkyti šias išimtis.

„JavaScript“ pabandykite … sugauti pareiškimą

try… catchPareiškimas yra naudojama tvarkyti išimtis. Jo sintaksė yra:

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

Pagrindinis kodas yra trybloko viduje . Vykdant trybloką, jei įvyksta kokių nors klaidų, jis pereina į catchbloką. catchBlokas rankenos klaidas kaip už sugautų žuvų kiekio ataskaitas.

Jei klaidos neįvyksta, trybloko viduje vykdomas kodas ir catchblokas praleidžiamas.

1 pavyzdys: rodyti nedeklaruotą kintamąjį

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

Rezultatas

 NaN Klaida sugauta Klaidos pranešimas: ReferenceError: a nėra apibrėžtas

Pirmiau pateiktoje programoje kintamasis nėra apibrėžtas. Kai bandote spausdinti kintamąjį, programa išmeta klaidą. Ši klaida užfiksuota catchbloke.

„JavaScript“ pabandykite … pagauti … pagaliau pareiškimas

Taip pat galite naudoti try… catch… finallyteiginį tvarkydami išimtis. finallyBlokas vykdo tiek, kai kodas veikia sėkmingai, arba jei įvyksta klaida.

try… catch… finallyBloko sintaksė yra:

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

2 pavyzdys: pabandykite … pagauti … pagaliau pavyzdys

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

Rezultatas

 NaN Klaida sugauta Klaidos pranešimas: ReferenceError: a nėra apibrėžtas Galiausiai bus vykdoma kiekvieną kartą

Pirmiau pateiktoje programoje įvyksta klaida ir tą klaidą sugauna catchblokas. finallyBlokas atliks bet kokioje situacijoje (jei programa veikia sėkmingai, arba jei įvyksta klaida).

Pastaba : jums reikia naudoti catcharba finallyteiginį po tryteiginio. Priešingu atveju programa išmes klaidą Nepagauta sintaksės klaida: trūksta sugavimo arba galiausiai po bandymo.

„JavaScript“ pabandykite … gaukite „setTimeout“

try… catchNebus sugauti išimtis, jei tai atsitiko " laikas " kodą, kaip ir setTimeout (). Pavyzdžiui,

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

Aukščiau išvardyti try… catchdalykai neveiks, nes variklis jau paliko try… catchkonstrukciją ir funkcija bus vykdoma vėliau.

try… catchBlokas turi būti, kad funkcijos viduje sugauti viduje trukmės funkcija išimtis. Pavyzdžiui,

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

Taip pat galite naudoti throwteiginį kartu su try… catchteiginiu, kad naudotumėte vartotojo apibrėžtas išimtis. Pavyzdžiui, tam tikras skaičius padalijamas iš 0 . Jei norite laikyti Infinityklaidą programoje, tada naudodami throwteiginį galite mesti vartotojo apibrėžtą išimtį šiai sąlygai tvarkyti.

Apie „JavaScript“ metimo pareiškimą sužinosite kitoje pamokoje.

Įdomios straipsniai...