I denne vejledning lærer du om JavaScript-udsagn ved hjælp af eksempler.
I den foregående vejledning lærte du at håndtere undtagelser ved hjælp af JavaScript, prøv … fangsterklæring. Try and catch-erklæringerne håndterer undtagelser på en standard måde, der leveres af JavaScript. Du kan dog bruge throw
udsagnet til at videregive brugerdefinerede undtagelser.
I JavaScript throw
håndterer erklæringen brugerdefinerede undtagelser. For eksempel, hvis et bestemt tal divideres med 0 , og hvis du skal betragte det Infinity
som en undtagelse, kan du bruge throw
udsagnet til at håndtere denne undtagelse.
JavaScript-udsagn
Syntaksen for kastesætningen er:
throw expression;
Her expression
angives undtagelsens værdi.
For eksempel,
const number = 5; throw number/0; // generate an exception when divided by 0
Bemærk : Udtrykket kan være streng-, boolesk-, tal- eller objektværdi.
JavaScript kast med prøv … fangst
Syntaksen for try… catch… throw
er:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
Bemærk : Når kastesætningen udføres, går den ud af blokken og går til catch
blokken. Og koden under throw
udsagnet udføres ikke.
Eksempel 1: prøv … fang … kast eksempel
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); )
Produktion
En fejl fanget Fejlmeddelelse: Fejl: Antallet er lavt
I ovenstående program kontrolleres en tilstand. Hvis antallet er mindre end 51 , kastes en fejl. Og den fejl smides ved hjælp af throw
udsagnet.
Den throw
opgørelse angiver strengen The number is low
som et udtryk.
Bemærk : Du kan også bruge andre indbyggede fejl konstruktører til standard fejl: TypeError
, SyntaxError
, ReferenceError
, EvalError
, InternalError
, og RangeError
.
For eksempel,
throw new ReferenceError('this is reference error');
Kast en undtagelse igen
Du kan også bruge throw
udsagn inde i catch
blokken til at omlægge en undtagelse. For eksempel,
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'); ) )
Produktion
En fejl fanget Fejlmeddelelse: Fejl: Dette er kastfejlen løst
I ovenstående program throw
bruges udsagnet inden for try
blokken til at fange en undtagelse. Og throw
erklæringen genkastes i catch
blokken, som bliver udført, hvis catch
blokken ikke kan håndtere undtagelsen.
Her catch
håndterer blokken undtagelsen, og der opstår ingen fejl. Derfor er det throw
er udsagn ikke rethrown.
Hvis fejlen ikke blev håndteret af fangstblokken, kastes sætningen igen med fejlmeddelelse Ikke fanget fejl: Værdien er lav