异常:代码错误,资源不可用,CLR错误
异常处理过程:
Page_Error-->Application_Error-->Web.config
1)checked(产生错误的代码)//显示错误的原因
2)try...catch...finally
3)
void Page_Error(object sender,EventArgs e)
{
Response.Write(Server.GetLastError().ToString());
Server.ClearError();
}
4) 在global.asax里面,任何页面都会调用
void Application_Error(object sender,EventArgs e)
{
Response.Write(Server.GetLastError().ToString());
Server.ClearError();
}
5)利用配置文件处理
<customErrors
mode="On"
defaultRedirect="error.aspx"
/>
自定义Exception
Public class MyException:Exception
{
public MyException():base(){};
public MyException(string msg):base(msg){};
public MyException(string msg,Exception e_:base(msg,e){};
}
使用
throw new MyException("error");
处理办法:
1)在文件里面记录异常
.......
2)数据库里面记录
.......
3)系统的日志里面记录
private void WriteXp()
{
string msg=Server.GetLastError().Message;//取得错误信息
Server.ClearError();//清空错误信息,假如不删除的话,页面还将显示错误信息
// 要把aspnet假如管理员组,让他写注册表权限
if(!EventLog.SourceExists("src"))
EventLog.CreateEventSource("src","log");
EventLog event=new EventLog();
Event.Source="src";
Event.WriteEntry(msg,EventLogEntryType.Warning);
}
4)通过Email发送
private void SendEx()
{
string msg=Server.GetLastError().Message;
server.ClearError();
MailMessage mail=new MailMessage();
mail.To=" prolove@126.com";
mail.From=" java_colin@163.com";
mail.Subject="Error";
mail.BodyFormat=MailFormat.Text;
mail.Body=msg;
SmtpMail.Send(mail);
}
异常处理过程:
Page_Error-->Application_Error-->Web.config
1)checked(产生错误的代码)//显示错误的原因
2)try...catch...finally
3)
void Page_Error(object sender,EventArgs e)
{
Response.Write(Server.GetLastError().ToString());
Server.ClearError();
}
4) 在global.asax里面,任何页面都会调用
void Application_Error(object sender,EventArgs e)
{
Response.Write(Server.GetLastError().ToString());
Server.ClearError();
}
5)利用配置文件处理
<customErrors
mode="On"
defaultRedirect="error.aspx"
/>
自定义Exception
Public class MyException:Exception
{
public MyException():base(){};
public MyException(string msg):base(msg){};
public MyException(string msg,Exception e_:base(msg,e){};
}
使用
throw new MyException("error");
处理办法:
1)在文件里面记录异常
.......
2)数据库里面记录
.......
3)系统的日志里面记录
private void WriteXp()
{
string msg=Server.GetLastError().Message;//取得错误信息
Server.ClearError();//清空错误信息,假如不删除的话,页面还将显示错误信息
// 要把aspnet假如管理员组,让他写注册表权限
if(!EventLog.SourceExists("src"))
EventLog.CreateEventSource("src","log");
EventLog event=new EventLog();
Event.Source="src";
Event.WriteEntry(msg,EventLogEntryType.Warning);
}
4)通过Email发送
private void SendEx()
{
string msg=Server.GetLastError().Message;
server.ClearError();
MailMessage mail=new MailMessage();
mail.To=" prolove@126.com";
mail.From=" java_colin@163.com";
mail.Subject="Error";
mail.BodyFormat=MailFormat.Text;
mail.Body=msg;
SmtpMail.Send(mail);
}