在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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(); } } |
请发表评论