COM Birlikte Çalışma Özel Durumlarını İşleme

Yönetilen ve yönetilmeyen kod, özel durumları işlemek için birlikte çalışabilir. Bir yöntem yönetilen kodda bir özel durum fırlatırsa, ortak dil çalışma zamanı bir HRESULT'yi bir COM nesnesine geçirebilir. Bir yöntem bir hata HRESULT döndürerek yönetilmeyen kodda başarısız olursa, çalışma zamanı yönetilen kod tarafından yakalanabilecek bir özel durum oluşturur.

Çalışma Zamanı, HRESULT'ı COM birlikte çalışmasından daha spesifik istisnalara otomatik olarak dönüştürür. Örneğin, E_ACCESSDENIED UnauthorizedAccessException olur, E_OUTOFMEMORY OutOfMemoryException olur ve bu şekilde devam eder.

HRESULT özel bir sonuçsa veya çalışma zamanı tarafından bilinmiyorsa, çalışma zamanı istemciye genel bir COMException geçirir. COMException'ınErrorCode özelliği HRESULT değerini içerir.

IErrorInfo ile çalışma

COM'dan yönetilen koda bir hata geçirildiğinde, çalışma zamanı (runtime) özel durum nesnesini hata bilgileriyle doldurur. IErrorInfo destekleyen ve HRESULTS döndüren COM nesneleri, yönetilen kod özel durumlarına bu bilgileri sağlar. Örneğin, çalışma zamanı COM hatasından Açıklama'yı özel durumun Message özelliğiyle eşleştirir. HRESULT ek hata bilgisi sağlamazsa, çalışma zamanı özel durumun özelliklerinin çoğunu varsayılan değerlerle doldurur.

Yönetilmeyen kodda bir yöntem başarısız olursa yönetilen kod kesimine özel durum geçirilebilir. HRESULTS ve Özel Durumlar konusu, HRESULTS'un çalışma zamanı özel durum nesneleriyle nasıl eşlenir gösteren bir tablo içerir.

Ayrıca bakınız