今天,忘记了打开SQL服务器就运行程序,出现了错误信息,突来无聊,觉的错误页面好丑,我只想它出现错误信息,不想它出现后面的什么堆栈什么的,就“烟”究了半天,终于搞出来了。
首先来个错误信息图:
我要提取的就是红色文字的部份。因为服务器没有开,一运行程序,就指向DAL类库中的sqlhelper.cs中getconn()的conn.open,就出现这个错误,而我的conn.open是这么写的:
private SqlConnection GetConn()
{
//TODO:获得链接Conn并打开
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return conn;
}
因为初学.net,使用try,不知道出现错误时,如何返回异常,尝试了半天,不得只好放弃,最终找到了现在这样一种方法。
代码是写在Global.asax里的protected void Application_Error(object sender, EventArgs e)里。如下:
protected void Application_Error(object sender, EventArgs e)
{
Exception erroy = Server.GetLastError();
string err = string.Empty;
err += "错误日期:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "<BR><BR>";
err += "出错页面:" + Request.Url.ToString() + "<BR><BR>";
err += "异常信息:" + erroy.InnerException.Message + "<BR><BR>";
Server.ClearError();
Response.Write(err);
}
如果有朋友知道怎么在DAL的cs类中对getconn()异常,并在ui中显示出来,请麻烦指导我一下。谢谢了。