我对Try
Catch
块感到怀疑。
如果我在Try
块中收到错误,那么它将根据规则重定向到Catch
块。那么我可以将visible = true设置为 catch block 。
即lblError.visible=true;
根据编码标准是否正确?我是新手。
答案 0 :(得分:2)
例如,您可以在catch块中将输入元素的可见性设置为false,并显示错误面板。
答案 1 :(得分:0)
那是对的,那有什么不对吗?也许你不习惯在catch块中进行visibling和设置lblError,因为try..catch可以出现在你的代码中的很多地方,如果是的话,你可以在函数中包含这两行并从每个catch块调用它。
您还可以从catch块中抛出异常并在会话级别或应用程序级别的一个位置处理它们,并重定向到一个默认错误页面,您可以在其中获取上一个错误并显示用户友好消息。
您还可以在web.config中启用CustomErrors部分,并在会话中发生任何错误时重定向到一个特定页面。
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
}
答案 2 :(得分:0)
非常好。您可以在catch块中编写正常的编码行。
答案 3 :(得分:0)
Catch block使开发人员能够恢复try块中抛出的错误所造成的损害。
因此,如果try块中出现错误,您可以记下应该运行的任何代码。即错误记录
答案 4 :(得分:0)
是的,您可以在catch块中编写任何代码,甚至可以从方法中编写return
。有一刻你必须使用finaly{}
块来释放你在抛出异常的方法中使用的任何资源(例如,你使用数据库连接)。