源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-02-29 05:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ASP.NET mvc异常处理的方法示例介绍
1.首先常见保存异常的类(就是将异常信息写入到文件中去)
[u]复制代码[/u] 代码如下:
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接口
[u]复制代码[/u] 代码如下:
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、过滤器异常处理
[u]复制代码[/u] 代码如下:
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(); } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部