Hvordan du bruker prøve-fangst-finalt i C#

Hvordan du bruker prøve-fangst-finalt i C#
I C#er prøvefanger-finalt blokkering en kraftig metode som brukes til håndteringsfeil og unntak som kan oppstå under utførelse av programmet. Les denne guiden for å ha fullstendig informasjon om denne feilhåndteringsmetoden i C#.

Hva er forsøks-catch-finalt i C#

Som nevnt ovenfor er prøve fangst en feilhåndteringsmetode der koden som kan gi en feil som resulterer i avbrudd utføres i prøveblokk, og i tilfelle feil er det en instruksjon til fangstblokken som vil utføre som svar på den respektive feil. Til slutt utføres den endelig blokken for å rydde opp i ressursene, uavhengig av at noen feil hadde blitt oppstått eller ikke, og nedenfor er syntaks for bruk av denne metoden:

prøv
// kode som kan gi feil

fangst (errorhandlingtype1 ex)
// Instruksjon for å utføre i tilfelle eller feil1

fangst (errorhandlingtype2 ex)
// Instruksjon for å utføre i tilfelle eller feil2

endelig
// kode for å avslutte all prosessen

I prøveblokken kan koden som er til stede i den gi en feil, og hvis en feil oppstår, går programmet til den tilsvarende fangstblokken og fangstblokken håndterer den i henhold til instruksjonen som er gitt inni den. Hvis det er mer enn én fangstblokker, fanger hver enkelt en annen type unntak.

Den endelig blokken inneholder instruksjonen som alltid vil bli utført, selv om det oppstår om noen feil oppstår eller ikke. For å illustrere videre har jeg gitt et eksempel C# -kode som vil gjøre det enkelt for alle å forstå konseptet:

ved hjelp av system;
Klasseprogram
statisk tomrom Main (String [] args)
prøv
int a = 10;
int b = 0;
int resultat = a / b;
Konsoll.WritLine ("Resultatet er: 0", resultat);

fangst (divideByZeroException e)
Konsoll.WritLine ("kan ikke dele med null.", e);

endelig
Konsoll.WritLine ("Slutt på programmet.");


I denne koden inneholder prøveblokken koden som kan gi en feil som i dette tilfellet, vi prøver å dele med null, noe som vil forårsake en DivideByZeroException.

Fangstblokken spesifiserer typen unntak fra fangst (i dette tilfellet DivideByZeroException) og hva du skal gjøre når unntaket blir fanget (bare skrive ut en feilmelding).

Den endelig blokken inneholder instruksjonen som alltid vil bli utført, selv om det oppstår om noen feil oppstår eller ikke. Dette er nyttig for å utføre eventuelle opprydnings- eller sluttoppgaver, for eksempel å lukke en fil eller databaseforbindelse.

Når vi kjører denne koden, vil den sende ut “kan ikke dele med null.”Til konsollen, siden fangstblokken håndterer feilen og den deretter vil skrive ut“ End of Program.”Som den endelig blokkeringen utføres.

Tilsvarende, hvis det i saken ikke er noe unntak eller feil, vil ikke fangstfunksjonen fungere, og for å illustrere konseptet her er en C# -kode:

ved hjelp av system;
Klasseprogram
statisk tomrom Main (String [] args)
prøv
int a = 10;
int b = 2;
int resultat = a / b;
Konsoll.WritLine ("Resultatet er: 0", resultat);

fangst (divideByZeroException e)
Konsoll.WritLine ("kan ikke dele med null.", e);

endelig
Konsoll.WritLine ("Slutt på programmet.");


I denne koden inneholder prøveblokken koden som ikke vil kaste noe unntak som i dette tilfellet, vi prøver å dele opp med to, noe som ikke vil forårsake noen feil.

Fangstblokken spesifiserer typen unntak fra fangst (i dette tilfellet DivideByZeroException) og hva du skal gjøre når unntaket blir fanget (bare skrive ut en feilmelding).

Den endelig blokken inneholder instruksjonen som alltid vil bli utført, selv om det oppstår om noen feil oppstår eller ikke. Dette er nyttig for å utføre eventuelle opprydnings- eller sluttoppgaver, for eksempel å lukke en fil eller databaseforbindelse.

Når vi kjører denne koden, vil utdelingen av divisjon vises til konsollen, siden det ikke var noe unntak, så fangstblokken ikke vil bli utført, og neste.”Som den endelig blokkeringen utføres.

Konklusjon

Oppsummert er prøve-fangst-finalt en viktig kontrollstruktur i C# som lar utviklere grasiøst håndtere unntak og feil som kan oppstå under utførelsen av programmet. Denne opplæringen er en guide for hvordan du bruker prøvefangst-finalt i en C# -kode.