Š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 throw
teiginį galite naudoti norėdami perduoti vartotojo nustatytas išimtis.
„JavaScript“ throw
sakinyje tvarkomos vartotojo nustatytos išimtys. Pvz., Jei tam tikras skaičius yra padalintas iš 0 ir jei jums reikia atsižvelgti į tai Infinity
kaip išimtį, galite naudoti throw
teiginį šiai išimčiai tvarkyti.
„JavaScript“ metimo pareiškimas
Mesti teiginio sintaksė yra tokia:
throw expression;
Čia expression
nurodoma 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… throw
yra:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
Pastaba : Kai metimo sakinys yra įvykdytas, jis išeina iš bloko ir eina į catch
bloką. Ir kodas žemiau throw
pareiš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 throw
teiginį.
throw
Pareiškimas nurodo eilutę The number is low
kaip 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 throw
sakinį catch
bloko 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 throw
sakinys naudojamas try
bloke, kad būtų gauta išimtis. Ir throw
teiginys rethrown į catch
bloką, kuris bus įvykdytas, jei catch
blokas negali tvarkyti išimtis.
Čia catch
blokas tvarko išimtį ir klaidos neįvyksta. Taigi, throw
pareiškimas nėra pakartotinas.
Jei klaidos nepadarė sugavimo blokas, metimo sakinys bus pateiktas su klaidos pranešimu Nepatvirtinta klaida: vertė yra maža