Aracılığıyla paylaş


Özel durum sınıfı ve özellikleri

Exception sınıfı, özel durumların devraldığı temel sınıftır. Örneğin, sınıf hiyerarşisi InvalidCastException aşağıdaki gibidir:

Object
  Exception
    SystemException
      InvalidCastException

sınıfı, Exception bir özel durumu daha kolay anlamaya yardımcı olan aşağıdaki özelliklere sahiptir.

Özellik Adı Açıklama
Data Bir IDictionary anahtar-değer çiftlerinde rastgele verileri tutar.
HelpLink Bir özel durumun nedeni hakkında kapsamlı bilgi sağlayan bir yardım dosyasının URL'sini (veya URN'sini) tutabilir.
InnerException Bu özellik, özel durum işleme sırasında bir dizi özel durum oluşturmak ve korumak için kullanılabilir. Daha önce yakalanan özel durumları içeren yeni bir özel durum oluşturmak için bunu kullanabilirsiniz. Özgün özel durum özelliğindeki InnerException ikinci özel durum tarafından yakalanabilir ve ikinci özel durumu işleyen kodun ek bilgileri incelemesine olanak sağlar. Örneğin, yanlış biçimlendirilmiş bir bağımsız değişken alan bir yönteminiz olduğunu varsayalım. Kod bağımsız değişkeni okumaya çalışır, ancak bir istisna fırlatılır. Yöntem, özel durumu yakalar ve bir FormatException fırlatır. Çağıranın bir özel durumun neden fırlatıldığını belirleme becerisini geliştirmek için, bazen, bir yöntemin yardımcı bir yordam tarafından fırlatılan bir özel durumu yakalaması ve ardından oluşmuş hatayı daha net belirten bir özel durum fırlatması tercih edilir. Yeni ve daha anlamlı bir özel durum oluşturulabilir, burada iç özel durum referansı, orijinal özel duruma ayarlanabilir. Bu daha anlamlı özel durum daha sonra çağırana fırlatılabilir. Bu işlevsellikle, önce atılan özel durumla biten bir dizi bağlantılı özel durum oluşturabileceğinizi unutmayın.
Message Özel durumun nedeni hakkında ayrıntılı bilgi sağlar.
Source Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar.
StackTrace Hatanın oluştuğu yeri belirlemek için kullanılabilecek bir yığın izlemesi içerir. Yığın izlemesi, hata ayıklama bilgileri varsa kaynak dosya adını ve program satır numarasını içerir.

öğesinden Exception devralan sınıfların çoğu ek üyeler uygulamaz veya ek işlevler sağlamaz; yalnızca öğesinden Exceptiondevralır. Bu nedenle, özel durum için en önemli bilgiler özel durum sınıflarının hiyerarşisinde, özel durum adında ve özel durumda yer alan bilgilerde bulunabilir.

Exception öğesinden türetilen nesneleri atmanızı ve yakalamanızı öneririz, ancak Object sınıfından türetilen herhangi bir nesneyi istisna olarak atabilirsiniz. Tüm dillerin, Exception'den türetilmeyen nesneleri fırlatmayı ve yakalamayı desteklemediğini unutmayın.

Ayrıca bakınız