Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 21123|Svare: 0

[Kilde] Unntak og unntakshåndtering (C# Programming Guide)

[Kopier lenke]
Publisert på 12.04.2015 22:22:03 | | |

Unntakshåndteringsfunksjonen i C#-språket hjelper deg å håndtere uventede eller uvanlige situasjoner som oppstår mens programmet ditt kjører. Unntakshåndtering bruker nøkkelordene try, catch og til slutt for å prøve visse operasjoner for å håndtere feil, og selv om disse operasjonene har potensial til å feile, kan du prøve å gjøre det hvis du er sikker på at du må gjøre dette og ønsker å rydde opp i ressursene etterpå. Common Language Runtime (CLR), . NET Framework eller ethvert tredjepartsbibliotek eller applikasjonskode kan generere unntak. Unntak opprettes ved hjelp av nøkkelordet kast.
I mange tilfeller kan unntak ikke reises av en metode som kalles direkte av kode, men av en annen metode lenger ned i kallestakken. I dette tilfellet utvider CLR stakken for å se om det finnes en metode som inneholder en catch-blokk for den aktuelle unntakstypen, og hvis den finner en slik metode, utfører den den første slike catch-blokken som finnes. Hvis ingen passende catch-blokk finnes noe sted i kallestakken, avsluttes prosessen og en melding vises til brukeren.
I dette eksempelet brukes en metode for å oppdage om det er en situasjon hvor den er delt på null; Hvis det er det, blir feilen oppdaget. Hvis det ikke er noen unntakshåndtering, vil dette programmet avsluttes og produsere en "DivideByZeroException Not Handled"-feil.
  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 koden






Foregående:C# avgjør om en streng inneholder et tegn
Neste:Finn ut om en nettside er laget av Discuz-forumprogrammet
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com