Bu makale, makine tarafından çevrilmiştir. Makaleyi İngilizce dilinde görüntülemek için İngilizce onay kutusunu işaretleyin. Ayrıca, fare işaretçisiyle İngilizce metnin üzerine gelerek metni açılır pencerede de görüntüleyebilirsiniz.
Çeviri
İngilizce

Exception.InnerException Özelliği

 

Alır Exception geçerli özel duruma neden örneği.

Ad alanı:   System
Derleme:  mscorlib (mscorlib.dll içinde)

public Exception InnerException { get; }

Özellik Değeri

Type: System.Exception

Geçerli özel duruma neden hatayı açıklayan bir nesne. InnerException Özelliği içine geçirilen değerin aynısını döndürür Exception(String, Exception) Oluşturucusu, veya null oluşturucuya iç özel durum değeri sağlanmadı. Bu özellik salt okunurdur.

Bir özel durum olduğunda X önceki özel durumun doğrudan sonucu oluşturulan Y, InnerException özelliği X bir başvuru içermelidir Y.

Kullanım InnerException özellik kümesi, geçerli özel duruma yol açan özel durum elde edilir.

Bir önceki özel durumu yakalar yeni bir özel durum oluşturabilirsiniz. İkinci özel durum yapabilirsiniz tanıtıcıları ek bilgi önceki özel durum hata daha uygun şekilde işlemek için kullandığınız kod.

Bir dosyayı okur ve bu dosyadaki verileri biçimlendirir bir işlevi olduğunu varsayın. Bu örnekte, kod dosyası okuma denediğinde olarak bir IOException oluşturulur. İşlev yakalar IOException oluşturur ve bir FileNotFoundException. IOException Kaydedilebilir InnerException özelliği FileNotFoundException, yakalayan kodu etkinleştirme FileNotFoundException ilk hatanın nedenini incelemek için.

InnerException İç özel duruma başvuru tutan, özelliği, özel durum nesnesi başlatılması sırasında ayarlanır.

Aşağıdaki örnek, oluşturmak ve bir iç özel duruma başvuran bir özel durum yakalama gösterir.

using System;

public class AppException : Exception
{
   public AppException(String message) : base (message)
   {}

   public AppException(String message, Exception inner) : base(message,inner) {}
}

public class Example
{
   public static void Main()
   {
      Example ex = new Example();

      try {
         ex.CatchInner();
      }
      catch(AppException e) {
         Console.WriteLine ("In catch block of Main method.");
         Console.WriteLine("Caught: {0}", e.Message);
         if (e.InnerException != null)
            Console.WriteLine("Inner exception: {0}", e.InnerException);
      }
   }

   public void ThrowInner ()
   {
      throw new AppException("Exception in ThrowInner method.");
   }

   public void CatchInner() 
   {
      try {
         this.ThrowInner();
      }
      catch (AppException e) {
         throw new AppException("Error in CatchInner caused by calling the ThrowInner method.", e);
      }
   }
}
// The example displays the following output:
//    In catch block of Main method.
//    Caught: Error in CatchInner caused by calling the ThrowInner method.
//    Inner exception: AppException: Exception in ThrowInner method.
//       at Example.CatchInner()

Evrensel Windows Platformu
8 sonrasında kullanılabilir
.NET Framework
1.1 sonrasında kullanılabilir
Taşınabilir Sınıf Kitaplığı
Destekleyen: taşınabilir .NET platformları
Silverlight
2.0 sonrasında kullanılabilir
Windows Phone Silverlight
7.0 sonrasında kullanılabilir
Windows Phone
8.1 sonrasında kullanılabilir
Başa dön
Show: