Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 21123|Svar: 0

[Källa] Undantag och undantagshantering (C# Programming Guide)

[Kopiera länk]
Publicerad på 2015-04-12 22:22:03 | | |

Undantagshanteringsfunktionen i C#-språket hjälper dig att hantera oväntade eller ovanliga situationer som uppstår medan ditt program körs. Undantagshantering använder nyckelorden try, catch och slutligen för att försöka vissa operationer för att hantera fel, och även om dessa operationer kan misslyckas kan du försöka göra det om du är säker på att du behöver göra detta och vill rensa resurser efteråt. Common Language Runtime (CLR), . NET Framework eller något tredjepartsbibliotek eller applikationskod kan generera undantag. Undantag skapas med hjälp av nyckelordet kast.
I många fall kan undantag inte väckas av en metod som anropas direkt av kod, utan av en annan metod längre ner i anropsstacken. I detta fall expanderar CLR stacken för att se om det finns en metod som innehåller ett catch-block för just den undantagstypen, och om den hittar en sådan metod exekverar den det första sådana catch-blocket som hittas. Om inget lämpligt catch-block hittas någonstans i anropsstacken avslutas processen och ett meddelande visas för användaren.
I detta exempel används en metod för att upptäcka om det finns en situation där den är delad med noll; Om det finns det, fångas felet. Om det inte finns någon undantagshantering kommer detta program att avsluta och ge ett felmeddelande "DivideByZeroException Not Handled".
  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. }
Kopiera koden






Föregående:C# avgör om en sträng innehåller ett tecken
Nästa:Ta reda på om en webbplats är skapad av Discuz-forumprogrammet
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com