Похоже, вам нужно вернуться к своему коду и посмотреть на обработку исключений. Либо есть разделы кода, которые не находятся внутри блока try/catch
, либо у вас есть блоки try/catch
, которые не обрабатывают все возможные исключения.
Вы должны убедиться, что, когда вы оберните эти части кода блоками try/catch
, вы не просто съедаете ошибки, а записываете их в журнал. Вы не хотите, чтобы в вашем приложении возникали непредвиденные ошибки без каких-либо событий, потому что эти непредвиденные ошибки могут оставить ваше приложение в уязвимом состоянии. Иногда лучше дать сбой вашему приложению, чем скрывать эти ошибки.
Вот хорошая статья об использовании try/catch
:
http://msdn.microsoft.com/en-us/library/ms173160.aspx
При реализации try/catch
убедитесь, что вы также решили ввести finally
для очистки любой информации о соединении или другого кода, который должен быть закрыт. Это будет выглядеть так:
try
{
//Your existing code
}
catch (Exception ex)
{
//Here is where you log the error - ex contains your entire exception so use that in the log
}
finally
{
//Clean up any open connections, etc. here
}
Обратите внимание, что блок catch ловит универсальный Exception
, поэтому все ошибки, которые не были обнаружены выше (в более специфических блоках), должны быть здесь перехвачены.