Javascript är ett översättande programmeringsspråk. Precis som alla andra språk behöver en utvecklare eller programmerare ofta bry sig om felhantering. För det mesta behöver en programmerare eller utvecklare hantera fel när de får åtkomst till eller tilldelar data till databasen. Så felhantering är en viktig del av alla programmeringsprojekt. Det finns tre typer av fel i programmeringen som en programmerare eller utvecklare ofta måste möta.
Syntaxfel - Ett fel vid skrivning av kod mot syntaxen för programmeringsspråket. Till exempel saknar du ett semikolon eller följer inte konventionen om att skapa och anropa funktionen.
Logiskt fel - Ett fel i logikbyggnaden. Till exempel att implementera fel aritmetisk operation, vilket resulterar i fel output.
Runtime Error - Fel inträffade under körningstiden. Som att ringa en funktion utan att förklara det.
Felet som vi får under körningen kallas också ett undantag. Exceptionell hantering är mycket viktigt. Eftersom vi inte kan kasta fel och felkoder direkt. Vi måste hantera det. Så, i den här artikeln kommer vi att få en förståelse för hur man hanterar undantag med hjälp av javascript's try-catch block. Vi kommer också att lära oss att kasta ett anpassat meddelande mot ett fel och hur man använder "slutligen" blocket med ett försök-fångstblock.
Syntax
Syntaxen för att använda ett try-catch-block är mycket enkel och lätt att använda. Vi kan helt enkelt använda try-catch blocket så här
Prova// kod för att prova eller testa
kasta // kasta ett anpassat fel att fånga
fånga (fel)
// kod efter att ha fått ett fel
till sist
// kod som körs i alla fall
I denna syntax skriver vi först några kodrader i "försök" -blocket för att testa. Om den koden körs eller klaras av testet. "Försök" -blocket kommer inte att kasta något fel till "fångst" -blocket och utföra "slutligen" -blocket. Annars kommer det att kasta ett fel till "fångst" -blocket där vi kan hantera undantagen enligt det angivna felet. Vi kan också kasta ett anpassat fel till "catch" -blocket med hjälp av "throw" -nyckelordet. "Slutligen" block kommer att köras i alla fall. Antingen kastar "försök" något eller inte. Låt oss prova några exempel för att få en bättre förståelse.
Exempel
Först och främst för att demonstrera det enkla och grundläggande arbetet med try-catch blocket. Vi försöker ringa en funktion utan att förklara den någonstans.
tillägg()Det kommer definitivt att kasta ett fel i konsolen
Men om vi försöker kalla det i ett försöksblock nu
tillägg()
fånga (fel)
Det kommer inte att visa något fel i konsolen längre eftersom vi inte skrev någon kod i fångsten för fel. Så vi kan ändra och trösta felmeddelandet i fångstblocket nu.
Provatillägg()
fånga (fel)
trösta.logg ("Felmeddelande =>" + fel)
Vi kan se vårt anpassade meddelande i konsolen mot felet.
Så det här är den mycket grundläggande användningen av försöksfångsblocket. Låt oss nu lära oss att kasta ett anpassat fel i försöksblocket.
Kasta
Antag att vi vill kasta ett annat anpassat fel på grund av olika fel när vi försöker. Vi kan kasta ett anpassat fel, att ”Funktionsdefinition finns inte." Så här
Provakasta nytt fel ("Funktionsdefinition finns inte")
fånga (fel)
trösta.log ("Felmeddelande =>" + fel)
Som du kan se i utgången ändras nu felmeddelandet till vårt anpassade fel.
Proffstips
Antag att vi försöker tillämpa denna försöksfångst på en asynkron funktion. Det fungerar inte. Eftersom motorn skulle ha flyttat till nästa rad, kör det sista blocket och den asynkrona funktionen skulle köras senare. Till exempel om vi tillämpar setTimeout-funktionen i ett försök-fångst-block.
ProvasetTimeout (() =>
tillägg();
, 3000)
fånga (fel)
trösta.log ("Felmeddelande =>" + fel)
till sist
trösta.log ("nådde" slutligen "block")
Du kan observera att "slutligen" blocket körs först, och felet kastas senare om vi tittar på felet. Det är inte felet från fångsten, men det är ett original programmeringsfel, vilket innebär att fångsten inte körs eftersom de försöker blockera inte hittade något fel.
OK! Om vi vill få det att fungera nu. Vi måste tillämpa försöksfångsten i setTimeout-funktionen istället för utanför. Så det verkliga sättet att implementera en asynkron funktion med ett try-catch-block skulle vara så här.
setTimeout (() =>Prova
tillägg();
fånga (fel)
trösta.log ("Felmeddelande =>" + fel)
till sist
trösta.log ("nådde" slutligen "block")
, 3000)
Du kan observera i utgången att efter fördröjningen på 3 sekunder på grund av funktionen setTimeout. Vi har först fått felmeddelandet från fångsten, och sedan körs "slutligen" blocket.
Slutsats
I den här artikeln har vi lärt oss att implementera try-catch block steg för steg i javascript på ett så enkelt och djupt sätt att varje nybörjare efter att ha läst den här artikeln skulle kunna använda den var som helst han behöver. Så fortsätt lära dig och få erfarenhet av javascript med linuxhint.com. Tack!