Uygulamalar, yürütme sırasında oluşan hataları tutarlı bir şekilde işleyebilmelidir. .NET, uygulamaları hatalarla ilgili tekdüzen bir şekilde bilgilendirmek için bir model sağlar: .NET işlemleri özel durumlar oluşturarak hatayı gösterir.
Özel durumlar
Özel durum, yürütülen bir program tarafından karşılaşılan herhangi bir hata koşulu veya beklenmeyen davranıştır. Özel durumlar, kodunuzdaki veya çağırdığınız koddaki bir hata (paylaşılan kitaplık gibi), kullanılamayan işletim sistemi kaynakları, çalışma zamanının karşılaştığı beklenmeyen koşullar (doğrulanamıyor kod gibi) vb. nedeniyle oluşabilir. Uygulamanız bu koşulların bazılarından kurtarılabilir, ancak diğerlerinden kurtarılamayabilir. Çoğu uygulama özel durumundan kurtarabilirsiniz ancak çoğu çalışma zamanı özel durumundan kurtaramazsınız.
.NET'te özel durum, sınıfından System.Exception devralan bir nesnedir. Bir sorunun oluştuğu bir kod alanından özel durum oluşturulur. Özel durum, uygulama tarafından işlenene veya program sonlandırana kadar yığına geçirilir.
Özel durumlar ile geleneksel hata işleme yöntemleri karşılaştırması
Geleneksel olarak, bir dilin hata işleme modeli, dilin hataları algılama ve bunlar için işleyicileri bulmanın benzersiz yöntemine veya işletim sistemi tarafından sağlanan hata işleme mekanizmasına dayanır. .NET'in özel durum işlemeyi uygulama yöntemi aşağıdaki avantajları sağlar:
Özel durum oluşturma ve işleme .NET programlama dilleri için aynı şekilde çalışır.
Özel durumları işlemek için belirli bir dil söz dizimi gerektirmez, ancak her dilin kendi söz dizimini tanımlamasına izin verir.
İşlem ve hatta makine sınırları arasında özel durumlar oluşturulabilir.
Program güvenilirliğini artırmak için bir uygulamaya özel durum işleme kodu eklenebilir.
Özel durumlar, dönüş kodları gibi diğer hata bildirimi yöntemlerine göre avantajlar sunar. Bir özel durum oluşursa ve bunu işlemezseniz çalışma zamanı uygulamanızı sonlandırdığından hatalar fark edilmez. Geçersiz değerler, hata dönüş kodu denetiminde başarısız olan kodun bir sonucu olarak sistemde yayılmaya devam etmez.
Sık karşılaşılan özel durumlar
Aşağıdaki tabloda, bunlara neyin neden olabileceğinin örnekleriyle birlikte bazı yaygın özel durumlar listelemektedir.
Bu modülde, C# konsol uygulamalarında özel durumların kullanımı ve özel durum işleme işlemi incelenmiştir. Uygulamalı etkinlikler, çeşitli kodlama senaryoları için özel durum işleme desenlerini uygulama deneyimi sağlar.