2008-09-17 14 views
52

Uygulamaya kabarcıklanmadıklarında bile ELMAH kayıt dışı istisnalar var mı? Bir istisna oluştuğunda bir mesajı açmak istiyorum ve yine de istisnayı günlüğe kaydetmek istiyorum. Şu anda her şeyi bir araya getirmeye çalışıyorum blokları yakaladım ve mesajları tükürdüm, ama bu sıkıcı oluyor.Elmah, yakalanan istisnaları da yakalar mı?

cevap

127

ELMAH, Signaling adlı yeni bir özelliği desteklemek için güncelleştirildi.

Bu, istisnaları nasıl istediğinizi ele almanıza izin verirken, bunları yine de ELMAH'a kaydettirebilirsiniz. o zor bir uygulamanın akışını izlemek için yapar gibi

try 
{ 
    int i = 5; 
    int j = 0; 
    i = i/j; //Throws exception 
} 
catch (Exception ex) 
{ 
    MyPersonalHandlingCode(ex); 
    ErrorSignal.FromCurrentContext().Raise(ex); //ELMAH Signaling 
} 

Yeniden atma istisnalar kötü bir uygulama olabilir. Hatayı bir şekilde işlemek ve basitçe belgelemek istiyorsanız, Sinyal Kullanımı çok daha iyi bir yaklaşımdır.

bir filtre Bu problemi çözmek basit yoludur, DotNetSlackers on ELMAH

+8

kontrol edin. Çünkü bu kodu her bir yakalayıcının içine koymak, bence çok fazladır, böyle bir filtreye sahip olmak iyi olur. – Kuncevic

+0

, dognetslackers bağlantısının işlenmemiş bir hata sayfasına yol açtığını ironik olarak belirtir. Bu bir trol olmalı? – niico

+0

günümü kurtardı .. – NMathur

6

tarafından bu mükemmel kılavuzuna göz atın. Bu özünürlüğü/filtreyi kullanarak bu çözüme ulaşmak için https://stackoverflow.com/a/5936867/965935

+2

Anladığım kadarıyla bir filtre, bir try catch bloğunda zaten ele alınan bir istisnayı yakalayamayacak. Bu cevabı buradan kontrol edin [link] (http://stackoverflow.com/a/21864117/694457). – frezq

İlgili konular