Попробуйте выгоду наконец блоки.. мне все еще нужны они когда ошибки из-за неправильного обращения в global.asax?

Я - ошибки из-за неправильного обращения через свой global.asax в этом методе:

Dim CurrentException As Exception
CurrentException = Server.GetLastError()
Dim LogFilePath As String = Server.MapPath("~/Error/" & DateTime.Now.ToString("dd-MM-yy.HH.mm") & ".txt")
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(LogFilePath)
sw.WriteLine(DateTime.Now.ToString)
sw.WriteLine(CurrentException.ToString())
sw.Close()

В моем коде у меня в настоящее время нет никакой другой обработки ошибок. Я должен все еще вставить попытку, выгоду, наконец блоки?

Спасибо.

1
задан jjnguy 19 October 2010 в 19:46
поделиться

1 ответ

Совершенно верно.

Вы всегда должны обрабатывать исключения как можно ближе к источнику. Это позволяет вам отреагировать соответствующим образом, например, повторить неудачную операцию, закрыть все открытые ресурсы, дать обратную связь пользователю или записать более конкретную информацию журнала, чем вам может дать трассировка стека (контекст и т. Д.)

Затем вы можете ( если вы хотите) снова генерировать исключение для обработки вашей глобальной обработки ошибок «поймать все», но если это не тривиальный или неожиданный случай, вам следует проверять возможные исключения в источнике. Это особенно верно, когда код, который вы пишете, может вполне разумно вызвать исключение (обычно такие вещи, как ввод-вывод файла и т. Д.), Но которые не обязательно указывают на фатальные ошибки.

2
ответ дан 3 September 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: