Вы не должны сначала перехватывать Exception (или вообще, если вы специально не делаете что-то с all исключениями)
Если вы хотите только UpdateExceptions, вы должны только перехватить это исключение,Этот улов должен быть выше любых других обработок, которые являются более общими, например
try
{
}
catch(System.Data.UpdateException ex)
{
}
catch(Exception ex) //optionally
{
///less generic handling
}
Также учитывайте для общего ведения журнала ELMAH http://code.google.com/p/elmah/