Правильно, что в этом плохого? Возможно, вам не удобно видеть и устанавливать lblError в catch catch, поскольку try..catch может появиться во многих местах вашего кода, если это так, вы можете обернуть эти две строки в функции и вызвать ее из каждого блока catch.
Вы также можете исключить исключение из блока catch и обрабатывать их все в одном месте на уровне сеанса или на уровне приложения и перенаправлять на одну страницу ошибок по умолчанию, где вы можете получить последнюю ошибку и показать удобное для пользователя сообщение в соответствии с этим.
Вы также можете включить раздел CustomErrors в web.config и перенаправить на одну конкретную страницу при любой ошибке, возникшей в сеансе.
try
{
//statements;
}
catch (Exception ex)
{
ShowError(ex);
}
void ShowError(Exception ex)
{
//Log or Email error first
LogOrEmailError(ex);
// you can write user friendly message based on the exception provided or a generic error message.
lblError.Visible = true;
lblError.Text = GetUserFriendlyErrorMessage(ex); // or throw; if you are planing to handle error in global.ascx or through CustomErrors in web.config
}
спасибо всем, я получил ответ. –
Не забудьте принять ответ. –