Ö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 | IDictionary Anahtar-değer çiftlerinde rastgele verileri tutan bir. |
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şkenini okumaya çalışır, ancak bir özel durum oluşturulur. yöntemi özel durumu yakalar ve oluşturur FormatException. Çağıranın bir özel durumun neden oluştuğunu belirleme becerisini geliştirmek için, bazen bir yöntemin yardımcı yordamı tarafından oluşan bir özel durumu yakalaması ve ardından oluşan hatayı daha iyi belirten bir özel durum oluşturması tercih edilir. İç özel durum başvurusunun özgün özel duruma ayarlanabildiği yeni ve daha anlamlı bir özel durum oluşturulabilir. Bu daha anlamlı özel durum daha sonra çağıran için oluşturulabilir. 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.
Yalnızca öğesinden Exceptiontüretilen nesneleri oluşturmanızı ve yakalamanızı öneririz, ancak sınıfından Object türetilen herhangi bir nesneyi özel durum olarak oluşturabilirsiniz. Tüm dillerin, 'den Exceptiontüretilmeyen nesneleri oluşturmayı ve yakalamayı desteklemediğini unutmayın.