一个比较好的.net 3.5的异常报告类
来源:互联网 发布:软件需求说明书模板 编辑:程序博客网 时间:2024/04/29 22:30
发现了一个比较好的异常报告类,其中用到了.net 3.5以上的扩展方法的机制,
实现的是当有异常时,发邮件报告
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
namespace Experiement
{
public static class MyExtension
{
public static void SendErrorEmail(this Exception ex)
{
MailMessage mailMessage = new MailMessage(new MailAddress("from@gmail.com")
, new MailAddress("to@gmail.com"));
mailMessage.Subject = "Exception Occured in your site";
mailMessage.IsBodyHtml = true;
System.Text.StringBuilder errorMessage = new System.Text.StringBuilder();
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}","Exception",ex.Message));
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}", "Stack Trace", ex.StackTrace));
if (ex.InnerException != null)
{
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}", " Inner Exception", ex.InnerException.Message));
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}", "Inner Stack Trace", ex.InnerException.StackTrace));
}
mailMessage.Body = errorMessage.ToString();
System.Net.NetworkCredential networkCredentials = new
System.Net.NetworkCredential("youraccount@gmail.com", "password");
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = networkCredentials;
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.Send(mailMessage);
}
}
}
使用:
using System;
namespace Experiement
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender,System.EventArgs e)
{
try
{
throw new Exception("My custom Exception");
}
catch (Exception ex)
{
ex.SendErrorEmail();
Response.Write(ex.Message);
}
}
}
}
实现的是当有异常时,发邮件报告
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
namespace Experiement
{
public static class MyExtension
{
public static void SendErrorEmail(this Exception ex)
{
MailMessage mailMessage = new MailMessage(new MailAddress("from@gmail.com")
, new MailAddress("to@gmail.com"));
mailMessage.Subject = "Exception Occured in your site";
mailMessage.IsBodyHtml = true;
System.Text.StringBuilder errorMessage = new System.Text.StringBuilder();
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}","Exception",ex.Message));
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}", "Stack Trace", ex.StackTrace));
if (ex.InnerException != null)
{
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}", " Inner Exception", ex.InnerException.Message));
errorMessage.AppendLine(string.Format("<B>{0}</B>:{1}", "Inner Stack Trace", ex.InnerException.StackTrace));
}
mailMessage.Body = errorMessage.ToString();
System.Net.NetworkCredential networkCredentials = new
System.Net.NetworkCredential("youraccount@gmail.com", "password");
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = networkCredentials;
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.Send(mailMessage);
}
}
}
使用:
using System;
namespace Experiement
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender,System.EventArgs e)
{
try
{
throw new Exception("My custom Exception");
}
catch (Exception ex)
{
ex.SendErrorEmail();
Response.Write(ex.Message);
}
}
}
}
- 一个比较好的.net 3.5的异常报告类
- 一个比较好的.net 3.5的异常报告类
- 一个比较好用的.NET转换工具
- 一个比较好的博客:http://www.blogjava.net/Alpha/
- 一个比较好的asp类
- 一个比较好的面试
- 一个比较好的博客
- 一个比较好的Processor
- 一个比较好的网站
- .net的比较好的论坛
- Transaction类的一个例子,比较好的注释
- 一个比较好的String类的扩展
- 一个比较好的opencv的博客
- vb.net操作SQL数据库比较好用的类。
- .NET比较好用的CMS
- 比较好的EXTJS ASP.NET 控件
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- 小程序(一) 字符串过滤
- asp.net 4.0中menu菜单的改进
- service&activity通信
- (转)mysqlslow log分析
- PHP数组的4个TIPS
- 一个比较好的.net 3.5的异常报告类
- 老外对tomcat 7的一点试用体法
- 介绍一个不错的2.5D的效果的HTML5效果
- mysql中query cache的局限性
- mysql 把所有行的id用逗号串连起来
- struts2跟jquery,json的结合小结
- 介绍9个很有发展潜力的PHP开源项目
- (转)B树的一个很好的小结文
- 在vs.net 2010中使用重构方法