|
|
Objavljeno na 12. 04. 2015 22:22:03
|
|
|

Funkcija upravljanja izjem v jeziku C# vam pomaga obvladovati vse nepričakovane ali nenavadne situacije, ki se zgodijo med izvajanjem vašega programa. Obravnava izjem uporablja ključne besede try, catch in final za poskus določenih operacij za obvladovanje napak, in čeprav imajo te operacije potencial za neuspeh, lahko poskusite, če ste prepričani, da morate to storiti in želite kasneje očistiti vire. Common Language Runtime (CLR), . NET Framework ali katerakoli knjižnica ali aplikacijska koda tretjih oseb lahko ustvari izjeme. Izjeme se ustvarijo z uporabo ključne besede za metanje. V mnogih primerih izjem ne sproži metoda, ki jo kliče neposredno koda, temveč druga metoda nižje v skladu klicev. V tem primeru CLR razširi sklad, da preveri, ali obstaja metoda, ki vsebuje blok ujetja za to vrsto izjeme, in če najde takšno metodo, izvede prvi tak blok ujetja, ki ga najde. Če v skladu klicev ni najdenega ustreznega bloka za ulov, se postopek prekine in uporabniku se prikaže sporočilo. V tem primeru se metoda uporablja za zaznavanje, ali je situacija deljena z nič; Če je, se napaka odkrije. Če ni obravnave izjem, se ta program zaključi in prikaže napako "DideleByZeroException Not Handled".- class ExceptionTest
- {
- static double SafeDivision(double x, double y)
- {
- if (y == 0)
- throw new System.DivideByZeroException();
- return x / y;
- }
- static void Main()
- {
- // Input for test purposes. Change the values to see
- // exception handling behavior.
- double a = 98, b = 0;
- double result = 0;
- try
- {
- result = SafeDivision(a, b);
- Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
- }
- catch (DivideByZeroException e)
- {
- Console.WriteLine("Attempted divide by zero.");
- }
- }
- }
Kopiraj kodo
|
Prejšnji:C# določa, ali niz vsebuje znakNaslednji:Ugotovite, ali je spletno stran ustvaril program foruma Discuz
|