Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu içerik, Çerçeve Tasarım Yönergeleri: Kurallar, Deyimler ve Yeniden Kullanılabilir .NET Kitaplıkları için Desenler, 2. Sürüm'den Pearson Education, Inc.'in izniyle yeniden yazdırılır. Bu baskı 2008'de yayımlandı ve kitap o zamandan beri üçüncü baskıda tamamen revize edilmiştir. Bu sayfadaki bazı bilgiler güncel olmayabilir.
Bu bölümde, Çerçeve tarafından sağlanan standart özel durumlar ve bunların kullanım ayrıntıları açıklanmaktadır. Liste hiçbir şekilde kapsamlı değildir. Diğer Framework özel durum türlerinin kullanımı için lütfen .NET Framework başvuru belgelerine bakın.
Hata ve SystemException
❌VEYA System.ExceptionATMAYINSystem.SystemException.
❌ Çerçeve kodunda hiçbir System.Exception veya System.SystemException yeniden yıkmayı düşünmüyorsanız yakalamayın.
❌
System.Exception veya System.SystemException dışında, en üst düzey istisna işleyicilerinde ❌ yakalamaktan KAÇININ.
ApplicationException
❌ ATMAYIN veya ApplicationException türetmeyin.
Geçersiz İşlem İstisnası
✔️ Nesne uygun olmayan bir durumdaysa bir InvalidOperationException fırlatın.
ArgumentException, ArgumentNullException ve ArgumentOutOfRangeException
✔️ Hatalı bağımsız değişkenler bir üyeye geçirildiğinde c0 veya onun alt türlerinden birini atın. Varsa, en türetilmiş özel durum türünü tercih edin.
✔️ ParamName alt sınıflarından birini atarken ArgumentException özelliğini AYARLAMAYI UNUTMAYIN.
Bu özellik, özel durumun oluşturulmasına neden olan parametrenin adını temsil eder. Özelliğin oluşturucu aşırı yüklemelerinden biri kullanılarak ayarlanabileceğini unutmayın.
✔️ Özellik ayarlayıcılarının örtük değer parametresinin adı için value kullanın.
NullReferenceException, IndexOutOfRangeException ve AccessViolationException
❌ Herkes tarafından çağrılabilen API'lerin NullReferenceException, AccessViolationException veya IndexOutOfRangeException hata üretmesine açıkça ya da dolaylı olarak izin VERMEYİN. Bu özel durumlar ayırılmıştır ve çalıştırma motoru tarafından oluşturulur, çoğu durumda bir programlama hatasını gösterir.
Bu hataların oluşmasını önlemek için bağımsız değişken denetimi yapın. Bu istisnaların fırlatılması, yönteminizin zaman içinde değişebilecek uygulama detaylarını ortaya çıkarır.
StackOverflowException
❌ StackOverflowException yazılı olarak atmayın. Özel durum açıkça yalnızca CLR tarafından oluşturulmalıdır.
❌ Yakalamayın StackOverflowException.
Rastgele yığın taşması varlığında tutarlı kalan yönetilen kod yazmak neredeyse imkansızdır. CLR'nin yönetilmeyen bölümleri, yığın taşmalarını rastgele yerlerden geri çekmek yerine, bu taşmaları iyi tanımlanmış yerlere taşımak için yoklamalar kullanarak tutarlı olmaya devam eder.
Bellek Tükenmesi Hatası (OutOfMemoryException)
❌ OutOfMemoryException yazılı olarak atmayın. Bu özel durum yalnızca CLR altyapısı tarafından oluşturulmalıdır.
ComException, SEHException ve ExecutionEngineException
❌ COMException, ExecutionEngineException ve SEHException öğelerini açıkça atmayın. Bu özel durumlar yalnızca CLR altyapısı tarafından oluşturulmalıdır.
Porsiyonlar © 2005, 2009 Microsoft Corporation. Tüm hakları saklıdır.
Pearson Education, Inc. tarafından Krzysztof Cwalina ve Brad Abrams'ın Yeniden Kullanılabilir .NET Kütüphaneleri için Çerçeve Tasarım Yönergeleri: Sözleşmeler, Deyimler ve Kalıplar, 2. Baskı eserinden izniyle yeniden basılmıştır. Addison-Wesley Professional tarafından Microsoft Windows Geliştirme Serisi kapsamında 22 Ekim 2008'de yayımlanmıştır.