JavaScript

Javascript Probeer Catch

Javascript Probeer Catch

Javascript is een vertalende programmeertaal. Net als elke andere taal, moet een ontwikkelaar of programmeur zich vaak zorgen maken over foutafhandeling. Meestal moet een programmeur of ontwikkelaar fouten afhandelen bij het openen of toewijzen van bepaalde gegevens aan de database. Foutafhandeling is dus een essentieel onderdeel van elk programmeerproject. Er zijn drie soorten fouten bij het programmeren waar een programmeur of ontwikkelaar vaak mee te maken krijgt.

Syntax error - Een fout bij het schrijven van code tegen de syntaxis van de programmeertaal. Bijvoorbeeld het missen van een puntkomma of het niet volgen van de conventie van het maken en aanroepen van de functie.

Logische fout - Een fout in het logische gebouw. Bijvoorbeeld het implementeren van de verkeerde rekenkundige bewerking, wat resulteert in de verkeerde uitvoer.

Runtime-fout - Er is een fout opgetreden tijdens de runtime. Zoals het aanroepen van een functie zonder deze te declareren.

De fout die we krijgen tijdens de runtime staat ook bekend als an uitzondering. Uitzonderlijke behandeling is erg belangrijk. Omdat we de fouten en foutcodes niet meteen kunnen gooien. Daar moeten we mee omgaan. Dus in dit artikel gaan we begrijpen hoe we met uitzonderingen kunnen omgaan met het try-catch-blok van javascript. We zullen ook leren hoe je een aangepast bericht tegen een fout kunt gooien en hoe je het "eindelijk" -blok kunt gebruiken met een try-catch-blok.

Syntaxis

De syntaxis voor het gebruik van een try-catch-blok is heel eenvoudig en gemakkelijk te gebruiken. We kunnen het try-catch-blok gewoon zo gebruiken

proberen
//code om te proberen of te testen
gooi // gooi een aangepaste fout om te vangen
vangst (fout)
// code na het krijgen van een fout
Tenslotte
// code die in ieder geval wordt uitgevoerd

In deze syntaxis schrijven we eerst enkele regels code in het "try" -blok om te testen. Als die code wordt uitgevoerd of de test met succes doorstaat. Het "try" -blok zal geen enkele fout naar het "catch" -blok gooien en het "finally" -blok uitvoeren. Anders zal het een fout naar het "catch" -blok gooien waar we de uitzonderingen volgens de gegeven fout kunnen afhandelen. We kunnen ook een aangepaste fout naar het "catch" -blok gooien met het trefwoord "throw"”. "Eindelijk" blok wordt hoe dan ook uitgevoerd. Ofwel het "try" -blok gooit er een of niet. Laten we een paar voorbeelden proberen om een ​​beter begrip te krijgen.

Voorbeelden

Allereerst om de eenvoudige en basale werking van het try-catch-blok te demonstreren. We proberen een functie aan te roepen zonder deze ergens te declareren.

toevoeging()

Het zal zeker een fout in de console gooien


Maar als we het nu in een try-blok proberen te noemen

proberen
toevoeging()
vangst (fout)

Het zal geen fout meer in de console tonen omdat we geen code in het catch-blok voor fouten hebben geschreven. Dus we kunnen de foutmelding in het catch-blok nu aanpassen en troosten.

proberen
toevoeging()
vangst (fout)
troosten.log("Foutbericht => " + fout)

We kunnen ons aangepaste bericht in de console tegen de fout zien.


Dit is dus het basisgebruik van het try-catch-blok. Laten we nu leren hoe je een aangepaste fout in het try-blok gooit.

Werpen

Stel dat we tijdens het proberen een andere aangepaste fout willen genereren op basis van verschillende fouten. We kunnen een aangepaste fout genereren, dat "Functiedefinitie niet bestaat"." Soortgelijk

proberen
nieuwe fout gooien ("Functiedefinitie bestaat niet")
vangen (fout)
troosten.log("Foutbericht => " + fout)


Zoals je kunt zien in de uitvoer, is het foutbericht nu gewijzigd in onze aangepaste fout die is gegenereerd.

ProTip

Stel dat we proberen deze try-catch toe te passen op een asynchrone functie. Het zal niet werken. Omdat de engine naar de volgende regel zou zijn verplaatst, voer je het laatste blok uit en zou de asynchrone functie later worden uitgevoerd. Als we bijvoorbeeld de functie setTimeout toepassen in een try-catch-blok.

proberen
setTimeout(() =>
toevoeging();
, 3000)
vangen (fout)
troosten.log("Foutbericht => " + fout)
Tenslotte
troosten.log("eindelijk blok bereikt")


U kunt zien dat het blok "eindelijk" als eerste wordt uitgevoerd en dat de fout later wordt gegenereerd als we naar de fout kijken. Het is niet de fout van het catch-blok, maar het is een originele programmeerfout, wat betekent dat het catch-blok niet wordt uitgevoerd omdat het try-blok geen fout heeft gevonden.

Oke! Nu, als we het willen laten werken. We moeten het try-catch-blok toepassen binnen de setTimeout-functie in plaats van buiten. Dus de echte manier om een ​​asynchrone functie te implementeren met een try-catch-blok zou als volgt zijn:.

setTimeout(() =>
proberen
toevoeging();
vangen (fout)
troosten.log("Foutbericht => " + fout)
Tenslotte
troosten.log("eindelijk blok bereikt")

, 3000)


U kunt in de uitvoer zien dat na de vertraging van 3 seconden vanwege de setTimeout-functie. We hebben eerst de foutmelding van het catch-blok gekregen en dan wordt het "eindelijk" -blok uitgevoerd.

Conclusie

In dit artikel hebben we geleerd om het try-catch-blok stap voor stap in javascript te implementeren op zo'n gemakkelijke en diepgaande manier dat elke beginner na het lezen van dit artikel het overal kan toepassen waar hij maar wil. Dus blijf leren en ervaring opdoen in javascript met linuxhint.com. Dank u!

OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...
OpenTTD-zelfstudie
OpenTTD is een van de meest populaire simulatiegames voor bedrijven die er zijn. In dit spel moet je een geweldig transportbedrijf creëren. U begint e...
SuperTuxKart voor Linux
SuperTuxKart is een geweldige titel die is ontworpen om je de Mario Kart-ervaring gratis te bieden op je Linux-systeem. Het is behoorlijk uitdagend en...