日期:2014-05-18 浏览次数:21053 次
public class TestError { private StringBuilder error; public string Error { get { return error.ToString(); } private set { Error = value; } } public TestError() { error = new StringBuilder(); } ~TestError() { Error = error.ToString(); } public void Fun1() { //干了很多事,其中会被return掉,每次return就会append一个error信息 error.AppendFormat("Error1,{0}.{1}", "null", Environment.NewLine); } public void Fun2() { //干了很多事,其中会被return掉,每次return就会append一个error信息 error.AppendFormat("Error2,{0}.{1}", "last error", Environment.NewLine); } }
//楼主以后可以这么干,把你想输出的错误记录下来,没必要那样干的 using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.IO; using System.Globalization; /// <summary> ///ErrorUtil 的摘要说明 /// </summary> public class ErrorUtil { public ErrorUtil() { // //TODO: 在此处添加构造函数逻辑 // } public static void WriteError(string errorMessage) { try { string path = "~/Error/" + DateTime.Today.ToString("yyyy-MM-dd") + ".txt"; if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(path))) { File.Create(System.Web.HttpContext.Current.Server.MapPath(path)).Close(); } using (StreamWriter w = File.AppendText(System.Web.HttpContext.Current.Server.MapPath(path))) { w.WriteLine("\r\n错误实例 : "); w.WriteLine("日期:{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture)); //string err = "Error in: " + System.Web.HttpContext.Current.Request.Url.ToString() +". Error Message:" + errorMessage; w.WriteLine(System.Web.HttpContext.Current.Request.Url.ToString()); w.WriteLine(errorMessage); w.WriteLine("_________________________________________________________________________________"); w.Flush(); w.Close(); } } catch (Exception ex) { WriteError(ex.Message); } } } 还可以把这个方法放进这个文件Global.asax void Application_Error(object sender, EventArgs e) { //在出现未处理的错误时运行的代码 Exception objErr = Server.GetLastError().GetBaseException(); string err = "错误明细:" + objErr.Message.ToString(); ErrorUtil.WriteError(err); //Server.ClearError(); } //
------解决方案--------------------
如果放进全局文件中,会把所有的错误都记录下来
如果不想记录所有的,就想在哪个方法中调用都可以了,那样有错误就可以记录
------解决方案--------------------