您的位置:首页 > 编程语言 > ASP

ASP.NET mvc异常处理的方法示例介绍

2014-04-21 00:00 791 查看
1.首先常见保存异常的类(就是将异常信息写入到文件中去)
public class LogManager 
{ 
private string logFilePath = string.Empty; 
public LogManager(string logFilePath) 
{ 
this.logFilePath = logFilePath; 
FileInfo file = new FileInfo(logFilePath); 
if (!file.Exists) 
{ 
file.Create().Close(); 
} 
} 
public void SaveLog(string message, DateTime writerTime) 
{ 
string log = writerTime.ToString() + ":" + message; 
StreamWriter sw = new StreamWriter(logFilePath, true); 
sw.WriteLine(log); 
sw.Close(); 
} 
}

2、控制器异常处理

这种方式就在需要进行异常处理的controller中重写OnException()方法即可,因为它本身继承了IExceptionFilter接口
public class ExceptionController : Controller 
{ 
public ActionResult Index() 
{ 
throw new Exception("我抛出异常了!"); 
} 
protected override void OnException(ExceptionContext filterContext) 
{ 
string filePath = Server.MapPath("~/Exception。txt"); 
StreamWriter sw = System.IO.File.AppendText(filePath); 
sw.WriteLine(DateTime.Now.ToString() + ":" + filterContext.Exception.Message); 
sw.Close(); 
base.OnException(filterContext); 
Redirect("/"); 
} 
}

3、过滤器异常处理
namespace MyMVC.Controllers 
{ 
public class ExceptionController : Controller 
{ 
[Error] 
public ActionResult Index() 
{ 
throw new Exception("过滤器异常!"); 
} 
} 
} 
public class ErrorAttribute : HandleErrorAttribute 
{ 
public override void OnException(ExceptionContext filterContext) 
{ 
base.OnException(filterContext); 
string path = filterContext.HttpContext.Server.MapPath("~/Exception.txt"); 
StreamWriter sw = System.IO.File.AppendText(path); 
sw.WriteLine(DateTime.Now.ToString()+":"+filterContext.Exception.Message); 
sw.Close(); 
} 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: