Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 21123|Yanıt: 0

[Kaynak] İstisnalar ve İstisnaların Yönetimi (C# Programlama Rehberi)

[Bağlantıyı kopyala]
Yayınlandı 12.04.2015 22:22:03 | | |

C# dilinin istisna işleme özelliği, programınız çalışırken ortaya çıkan beklenmedik veya olağan dışı durumları yönetmenize yardımcı olur. İstisna işleme, başarısızlıkları yönetmek için belirli işlemleri denemek için deneme, yakalama ve son anahtar kelimeleri kullanır ve bu işlemlerin başarısız olma potansiyeli olsa da, bunu yapmanız gerektiğinden eminseniz ve sonrasında kaynakları temizlemek istiyorsanız bunu deneyebilirsiniz. Ortak Dil Çalışma Zamanı (CLR), . NET Framework veya herhangi bir üçüncü taraf kütüphane veya uygulama kodu istisnalar oluşturabilir. İstisnalar throw anahtar kelimesi kullanılarak oluşturulur.
Birçok durumda, istisnalar doğrudan kodla çağrılan bir yöntemle değil, çağrı yığınının daha aşağısında başka bir yöntemle ortaya çıkabilir. Bu durumda, CLR yığını genişleterek o istisna türü için yakalama bloğu içeren bir yöntem olup olmadığını görür ve böyle bir yöntem bulursa, ilk bulunan yakalama bloğunu çalıştırır. Çağrı yığınında uygun bir yakalama bloğu bulunmazsa, süreç sonlandırılır ve kullanıcıya bir mesaj gösterilir.
Bu örnekte, bir yöntem sıfıra bölündüğünü tespit etmek için kullanılır; Varsa, hata yakalanır. İstisna işlemesi yoksa, bu program sonlanacak ve "DivideByZeroException Not Handled" hatası üretecektir.
  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. }
Kopya kodu






Önceki:C#, bir dizinin bir karakter içerip içermediğini belirler
Önümüzdeki:Bir web sitesinin Discuz forum programı tarafından oluşturulup oluşturulmadığını belirleyin
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com