Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 21123|Antwoord: 0

[Bron] Uitzonderingen en Uitzonderingsbehandeling (C# Programmeergids)

[Link kopiëren]
Geplaatst op 12-04-2015 22:22:03 | | |

De exception handling-functie van de C#-taal helpt je om onverwachte of ongebruikelijke situaties te verwerken die zich voordoen terwijl je programma draait. Exception handling gebruikt de trefwoorden try, catch en finally om bepaalde bewerkingen te proberen om fouten te verwerken, en hoewel deze bewerkingen kunnen falen, kun je het proberen als je zeker weet dat je dit moet doen en daarna resources wilt opruimen. Common Language Runtime (CLR), . NET Framework of een andere bibliotheek of applicatiecode van derden kan uitzonderingen genereren. Uitzonderingen worden gemaakt met het sleutelwoord throw.
In veel gevallen kunnen uitzonderingen niet worden opgeroepen door een methode die direct door code wordt aangeroepen, maar door een andere methode verderop in de aanroepstapel. In dit geval breidd de CLR de stack uit om te zien of er een methode is die een catchblok bevat voor dat specifieke uitzonderingstype, en als het zo'n methode vindt, voert het het eerste gevonden catchblok uit. Als er nergens in de call stack een passend catchblok wordt gevonden, wordt het proces beëindigd en wordt er een bericht aan de gebruiker getoond.
In dit voorbeeld wordt een methode gebruikt om te detecteren of er een situatie is waarin deze door nul wordt gedeeld; Als dat zo is, wordt de fout gemerkt. Als er geen uitzonderingsbehandeling is, zal dit programma eindigen en een foutmelding "DivideByZeroException Not Handled" veroorzaken.
  1. class ExceptionTest
  2. {
  3.     static double SafeDivision(double x, double y)
  4.     {
  5.         if (y == 0)
  6.             throw new System.DivideByZeroException();
  7.         return x / y;
  8.     }
  9.     static void Main()
  10.     {
  11.         // Input for test purposes. Change the values to see
  12.         // exception handling behavior.
  13.         double a = 98, b = 0;
  14.         double result = 0;

  15.         try
  16.         {
  17.             result = SafeDivision(a, b);
  18.             Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
  19.         }
  20.         catch (DivideByZeroException e)
  21.         {
  22.             Console.WriteLine("Attempted divide by zero.");
  23.         }
  24.     }
  25. }
Code kopiëren






Vorig:C# bepaalt of een string een teken bevat
Volgend:Bepaal of een website is gemaakt door het Discuz forumprogramma
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com