Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 21123|Svar: 0

[Kilde] Undtagelser og undtagelseshåndtering (C# Programming Guide)

[Kopier link]
Opslået på 12/04/2015 22.22.03 | | |

Undtagelseshåndteringsfunktionen i C#-sproget hjælper dig med at håndtere uventede eller usædvanlige situationer, der opstår, mens dit program kører. Undtagelseshåndtering bruger nøgleordene try, catch og til sidst til at prøve visse operationer til at håndtere fejl, og selvom disse operationer har potentiale til at fejle, kan du prøve, hvis du er sikker på, at du har brug for det og vil rydde op i ressourcerne bagefter. Common Language Runtime (CLR), . NET Framework eller ethvert tredjepartsbibliotek eller applikationskode kan generere undtagelser. Undtagelser oprettes ved hjælp af nøgleordet kast.
I mange tilfælde kan undtagelser ikke oprettes af en metode, der kaldes direkte via kode, men af en anden metode længere nede i kaldsstakken. I dette tilfælde udvider CLR stakken for at se, om der findes en metode, der indeholder en catch-blok for netop den undtagelsestype, og hvis den finder en sådan metode, udfører den den første sådan catch-blok, der findes. Hvis der ikke findes en passende catch-blok nogen steder i kaldstakken, afsluttes processen, og en besked vises til brugeren.
I dette eksempel bruges en metode til at opdage, om der er en situation, hvor den er divideret med nul; Hvis der er tilfældet, opdages fejlen. Hvis der ikke er nogen undtagelseshåndtering, vil dette program afslutte og give en "DivideByZeroException Not Handled"-fejl.
  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. }
Kopier kode






Tidligere:C# afgør, om en streng indeholder et tegn
Næste:Find ud af, om en hjemmeside er lavet af Discuz-forumprogrammet
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com