数据库连接层中我把SqlException都抛出来了业务层也把SqlException抛了出来
try
{
conn = DB.GetConn();
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
bResult = true;
}
catch(SqlException e)
{
throw e;
}
finally
{
DB.CloseConn();
}UI层代码 //验证登陆名
if (StaffEntity.IsExist(loginName))
{
//验证登陆名与密码
if (StaffEntity.IsCorrect(loginName, pwd))
{
Session["User"] = StaffEntity.GetStaffID(loginName);
this.lblfail.Text = "";
Response.Redirect("Index.aspx");
}
else
this.lblfail.Text = "密码错误!";
}
else
this.lblfail.Text = "登录名错误!";现在我把数据库服务关掉了,如果UI层不进行try catch,数据连接层就会出错、崩溃掉
请问UI层的每用到业务层的代码都要try catch吗? 有没有什么方法能让它出错了就跳转到ErrPage页面呢?
try
{
conn = DB.GetConn();
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
bResult = true;
}
catch(SqlException e)
{
throw e;
}
finally
{
DB.CloseConn();
}UI层代码 //验证登陆名
if (StaffEntity.IsExist(loginName))
{
//验证登陆名与密码
if (StaffEntity.IsCorrect(loginName, pwd))
{
Session["User"] = StaffEntity.GetStaffID(loginName);
this.lblfail.Text = "";
Response.Redirect("Index.aspx");
}
else
this.lblfail.Text = "密码错误!";
}
else
this.lblfail.Text = "登录名错误!";现在我把数据库服务关掉了,如果UI层不进行try catch,数据连接层就会出错、崩溃掉
请问UI层的每用到业务层的代码都要try catch吗? 有没有什么方法能让它出错了就跳转到ErrPage页面呢?
解决方案 »
- Jquery与asp.net ajax是UpdatePanel使用问题
- <global namespace> 包含与别名 Excel 冲突的定义
- gridview 的数据存放数据库中问题
- 求救:System.Web.HttpUnhandledException 的异常
- 文件上传的问题
- sql 查询问题 急
- DataSet中有三张表,三张表是关联的,如何用类似SQLSERVER 中的内连接 Join in 方式 显示它们??
- 求急,,,绑定datagrid后,为何不显示数据?
- 给page添加属性的问题
- 很简单的问题!散分啦!
- Server Error in '/Admin' Application. Compilation Error
- jquery的时间UI出问题了貌似是ajax控件导致的
一般情况下访问数据库绝对会try{}catch{}抛出数据库连接异常
我把数据库服务关掉后,登录页面,在数据库层就报了异常了