C#错误信息后抛之日志
2016-08-07 11:42
239 查看
简介
之前遇到问题就是try...catch抓异常抛异常。刚用.net进行开发的时候遇到的一个问题是明明问题给用户提示出来了,可是为什么代码还是会继续往下走呢?当时发现用try...catch就可以完美解决这个问题,还挺兴奋的,后来发现用return也可以解决这个问题。不过后来还是一直用try...catch去解决这种问题。开发就会和数据打交道,和数据打交道就会用到数据库,在和数据库打交道的过程中遇到过不少问题,什么连接未打开呀,未将对象引用到对象实例啊等等的一些问题。有些时候出现一些问题抛给用户后用户是看不懂的,就用了try...catch自已为聪明的告诉用户,网络错误,请联系管理员等一系列滑稽的提示。问题多了,用户联系开发者给解决问题,开发者自己都会忘记当时写这个提示是出了什么问题。日志后抛恰到好处的解决了问题。可以让开发者看到错误是什么原因,在哪里出现的此问题。
代码实现
try
{
//代码段
}
catch (Exception a)
{
string address = "";
ErrorLog.WriteLog(a,address); //ErrorLog是类名
}
总结
用户帮我们发现系统中的不足,让我们不断的成长,给用户一个体验度好的系统是我们一直在做的,日志后抛给用户合理的提示,帮助我们及时的解决系统的不足。
之前遇到问题就是try...catch抓异常抛异常。刚用.net进行开发的时候遇到的一个问题是明明问题给用户提示出来了,可是为什么代码还是会继续往下走呢?当时发现用try...catch就可以完美解决这个问题,还挺兴奋的,后来发现用return也可以解决这个问题。不过后来还是一直用try...catch去解决这种问题。开发就会和数据打交道,和数据打交道就会用到数据库,在和数据库打交道的过程中遇到过不少问题,什么连接未打开呀,未将对象引用到对象实例啊等等的一些问题。有些时候出现一些问题抛给用户后用户是看不懂的,就用了try...catch自已为聪明的告诉用户,网络错误,请联系管理员等一系列滑稽的提示。问题多了,用户联系开发者给解决问题,开发者自己都会忘记当时写这个提示是出了什么问题。日志后抛恰到好处的解决了问题。可以让开发者看到错误是什么原因,在哪里出现的此问题。
代码实现
<span style="font-size:18px;"> /// <summary> /// 将异常打印到LOG文件 /// </summary> /// <param name="ex">异常</param> /// <param name="LogAddress">日志文件地址</param> public static void WriteLog(Exception ex, string LogAddress = "") { //如果日志文件为空,则默认在Debug目录下新建 YYYY-mm-dd_Log.log文件 if (LogAddress == "") { LogAddress = Environment.CurrentDirectory + '\\' + DateTime.Now.Year + '-' + DateTime.Now.Month + '-' + DateTime.Now.Day + "_Log.log"; } //把异常信息输出到文件 StreamWriter fs = new StreamWriter(LogAddress, true); fs.WriteLine("当前时间:" + DateTime.Now.ToString()); fs.WriteLine("异常信息:" + ex.Message); fs.WriteLine("异常对象:" + ex.Source); fs.WriteLine("调用堆栈:\n" + ex.StackTrace.Trim()); fs.WriteLine("触发方法:" + ex.TargetSite); fs.WriteLine(); fs.Close(); }</span>我把上述代码写到了一个单独的类中,调用方式如下:
try
{
//代码段
}
catch (Exception a)
{
string address = "";
ErrorLog.WriteLog(a,address); //ErrorLog是类名
}
总结
用户帮我们发现系统中的不足,让我们不断的成长,给用户一个体验度好的系统是我们一直在做的,日志后抛给用户合理的提示,帮助我们及时的解决系统的不足。
相关文章推荐
- c#“对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成”错误的解决
- 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 (asp.net C#)
- C#写入错误信息到WINDOWS日志查看器中的应用程序日志
- 微信通过openID发送消息/后台post、get提交并接收数据 C# .NET 配置404,500等错误信息 连接字符串
- C#中错误日志记录方法,信息比较详细易定位
- ADO.NET 2.0:如何排除错误信息「当目前没有数据时,尝试读取无效」(C#)
- C# 调用外部程序,并获取输出和错误信息
- C# 通过扩展WebBrowser捕获网络连接错误信息
- asp.net+C# 服务器安装篇---分析器错误信息: 未能加载程序集 app_Web _**** 请确保在访问该页之前已经编译了此程序
- C# 既要返回bool又要返回错误信息
- C# 编译器错误对应代码详细信息
- C#中获得错误信息的方法
- C# 写入错误信息
- c# “Could not load type”(无法加载类型)错误信息
- c#将错误信息写入日志
- VS2010编写C#代码时..只要想选中一排代码.想复制粘贴..就会出错..然后问我发不发送错误信息..然后就又重启
- C# 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
- C# 通过扩展WebBrowser捕获网络连接错误信息
- C# 如何获取出错的错误所在行数信息[原创]_C#教程_脚本之家
- C# 程序出现错误或异常,将异常信息写入指定日志文件