Šioje pamokoje su pavyzdžių pagalba sužinosite apie „JavaScript“ metimo teiginius.
Ankstesnėje pamokoje išmokote tvarkyti išimtis naudodamas „JavaScript try… catch utasítás“. „Try and catch“ teiginiai išimtis tvarko standartiniu būdu, kurį teikia „JavaScript“. Tačiau throwteiginį galite naudoti norėdami perduoti vartotojo nustatytas išimtis.
„JavaScript“ throwsakinyje tvarkomos vartotojo nustatytos išimtys. Pvz., Jei tam tikras skaičius yra padalintas iš 0 ir jei jums reikia atsižvelgti į tai Infinitykaip išimtį, galite naudoti throwteiginį šiai išimčiai tvarkyti.
„JavaScript“ metimo pareiškimas
Mesti teiginio sintaksė yra tokia:
throw expression;
Čia expressionnurodoma išimties vertė.
Pavyzdžiui,
const number = 5; throw number/0; // generate an exception when divided by 0
Pastaba : išraiška gali būti eilutė, loginė reikšmė, skaičius arba objekto reikšmė.
„JavaScript“ metimas bandant… pagauti
Sintaksė try… catch… throwyra:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
Pastaba : Kai metimo sakinys yra įvykdytas, jis išeina iš bloko ir eina į catchbloką. Ir kodas žemiau throwpareiškimo nėra vykdomas.
1 pavyzdys: pabandyk … pagauti … mesti pavyzdys
const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )
Rezultatas
Gauta klaida Klaidos pranešimas: Klaida: skaičius yra mažas
Pirmiau pateiktoje programoje tikrinama sąlyga. Jei skaičius yra mažesnis nei 51 , išmetama klaida. Ir ši klaida išmetama naudojant throwteiginį.
throwPareiškimas nurodo eilutę The number is lowkaip išraiška.
Pastaba : Jūs taip pat galite naudoti ir kitus įmontuotą klaidos konstruktoriai standartinių klaidų: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, ir RangeError.
Pavyzdžiui,
throw new ReferenceError('this is reference error');
Išmeskite išimtį
Taip pat galite naudoti throwsakinį catchbloko viduje, kad galėtumėte peržiūrėti išimtį. Pavyzdžiui,
const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )
Rezultatas
Užfiksuota klaida Klaidos pranešimas: Klaida: Tai metimo klaida išspręsta
Pirmiau pateiktoje programoje throwsakinys naudojamas trybloke, kad būtų gauta išimtis. Ir throwteiginys rethrown į catchbloką, kuris bus įvykdytas, jei catchblokas negali tvarkyti išimtis.
Čia catchblokas tvarko išimtį ir klaidos neįvyksta. Taigi, throwpareiškimas nėra pakartotinas.
Jei klaidos nepadarė sugavimo blokas, metimo sakinys bus pateiktas su klaidos pranešimu Nepatvirtinta klaida: vertė yra maža








