Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 21123|Vastaus: 0

[Lähde] Poikkeusten käsittely ja poikkeusten käsittely (C# Programming Guide)

[Kopioi linkki]
Julkaistu 12.4.2015 22.22.03 | | |

C#-kielen poikkeusten käsittelyominaisuus auttaa sinua käsittelemään mahdollisia odottamattomia tai epätavallisia tilanteita ohjelman aikana. Poikkeuskäsittely käyttää try, catch ja finally avainsanoita tiettyjen operaatioiden hoitamiseen epäonnistumisissa, ja vaikka näillä operaatioilla on mahdollisuus epäonnistua, voit kokeilla sitä, jos olet varma, että tarvitset tämän ja haluat siivota resursseja sen jälkeen. Common Language Runtime (CLR), . NET Framework tai mikä tahansa kolmannen osapuolen kirjasto tai sovelluskoodi voi aiheuttaa poikkeuksia. Poikkeuksia luodaan heittoavainsanalla.
Monissa tapauksissa poikkeuksia ei välttämättä nosteta suoraan koodilla kutsutulla menetelmällä, vaan toisella menetelmällä kutsupinon alempana. Tässä tapauksessa CLR laajentaa pinoa nähdäkseen, onko olemassa metodi, joka sisältää kyseisen poikkeustyypin catch-lohkon, ja jos se löytää tällaisen metodin, se suorittaa ensimmäisen löydetyn catch-lohkon. Jos sopivaa catch-lohkoa ei löydy mistään kutsupinosta, prosessi lopetetaan ja käyttäjälle näytetään viesti.
Tässä esimerkissä menetelmää käytetään havaitsemaan, onko tilanne, jossa se jaetaan nollalla; Jos on, virhe havaitaan. Jos poikkeuskäsittelyä ei ole, ohjelma lopettaa ja tuottaa virheen "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. }
Kopioi koodi






Edellinen:C# määrittää, sisältääkö merkkijono merkin
Seuraava:Selvitä, onko verkkosivusto tehty Discuz-foorumiohjelman toimesta
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com