Ответ 1
ELMAH обновлен для поддержки новой функции Signaling.
Это позволяет обрабатывать исключения, как вы хотите, сохраняя их в ELMAH.
try
{
int i = 5;
int j = 0;
i = i / j; //Throws exception
}
catch (Exception ex)
{
MyPersonalHandlingCode(ex);
ErrorSignal.FromCurrentContext().Raise(ex); //ELMAH Signaling
}
Исключения повторного броска могут быть плохой практикой, поскольку это затрудняет отслеживание потока приложения. Использование Signaling - гораздо лучший подход, если вы планируете обрабатывать ошибку в некотором роде и просто хотите документировать ее.
Пожалуйста, ознакомьтесь с этим отличным руководством DotNetSlackers на ELMAH