I denna handledning lär du dig om JavaScript-uttalanden med hjälp av exempel.
I föregående handledning lärde du dig att hantera undantag med JavaScript try … catch statement. Försök och fånga uttalanden hanterar undantag på ett vanligt sätt som tillhandahålls av JavaScript. Du kan dock använda throw
uttalandet för att skicka användardefinierade undantag.
I JavaScript throw
hanterar uttalandet användardefinierade undantag. Till exempel, om ett visst antal divideras med 0 , och om du behöver betrakta Infinity
som ett undantag, kan du använda throw
uttalandet för att hantera detta undantag.
JavaScript-uttalande
Syntaxen för kastuttrycket är:
throw expression;
Här expression
specificeras värdet på undantaget.
Till exempel,
const number = 5; throw number/0; // generate an exception when divided by 0
Obs! Uttrycket kan vara sträng-, boolesk-, tal- eller objektvärde.
JavaScript kasta med försök … fånga
Syntaksen för try… catch… throw
är:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
Obs : När kastuttrycket körs går det ut ur blocket och går till catch
blocket. Och koden under throw
påståendet körs inte.
Exempel 1: försök … fånga … kasta exempel
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
Ett fel uppstod Felmeddelande: Fel: Antalet är lågt
I programmet ovan kontrolleras ett tillstånd. Om antalet är mindre än 51 kastas ett fel. Och det felet kastas med hjälp av throw
uttalandet.
Det throw
uttalandet anger strängen The number is low
som ett uttryck.
Obs : Du kan också använda andra inbyggda fel konstruktörer för standard fel: TypeError
, SyntaxError
, ReferenceError
, EvalError
, InternalError
, och RangeError
.
Till exempel,
throw new ReferenceError('this is reference error');
Återställ ett undantag
Du kan också använda throw
uttalande inuti catch
blocket för att omkasta ett undantag. Till exempel,
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
Ett fel uppstod Felmeddelande: Fel: Detta är kastfelet löst
I ovanstående program används throw
uttalandet i try
blocket för att få ett undantag. Och throw
uttalandet kastas om i catch
blocket som körs om catch
blocket inte kan hantera undantaget.
Här catch
hanterar blocket undantaget och inget fel inträffar. Följaktligen är throw
är uttalandet inte rethrown.
Om felet inte hanterades av fångblocket skulle kastuttrycket kastas om med felmeddelande. Fångat fel: Värdet är lågt