c#保存异常日志
1、日志文件
日志文件本质就是普通文件,所以保存日志文件就是对文件进行写操作。
具体文件操作方法可以参考链接:http://www.cnblogs.com/chenhailing/p/7446983.html
2、异常处理
异常相关流程:
1)异常产生
通常把有可能发生异常的代码放到try中
2)捕获异常
当发生异常时会在catch中捕获,不同的异常捕获的参数类型不同。
3)异常处理
异常处理通常有两种,一种是直接向上抛出去,一种是在catch中写代码处理,比如保存日志信息等。
4)释放资源
无论是否发生异常,程序最后都应该释放其所占用的资源,即使是有垃圾回收机制。这部分代码应该放在finally中。
3、简单异常示例
示例:
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.IO;
5
6 /// <summary>
7 /// [功能描述: 采用读文本文件,捕获异常]<br></br>
8 /// [创 建 者: XXX]<br></br>
9 /// [创建时间: 2017-08-29]<br></br>
10 /// <修改记录
11 /// 修改人=''
12 /// 修改时间='yyyy-mm-dd'
13 /// 修改目的=''
14 /// 修改描述=''
15 /// />
16 /// </summary>
17 namespace ConsoleApplication1
18 {
19 class ErrorLog
20 {
21 public ErrorLog()
22 {
23 Console.Write("请输入错误文件路径:");
24 string path = Console.ReadLine();
25 BornError(path);
26 }
27
28 /// <summary>
29 /// 说明:保存错误日志
30 /// </summary>
31 /// <param name="path">文件路径</param>
32 /// <returns></returns>
33 /// <remarks>2017-08-29</remarks>
34 private void BornError(string path)
35 {
36 StreamReader sr = null;
37 FileStream fs = new FileStream("F:\\CHL\\chl05.txt", FileMode.Create);
38 StreamWriter sw = new StreamWriter(fs);
39 String line = null;
40
41 try
42 {
43 sr = new StreamReader(path, Encoding.Default);
44 while ((line = sr.ReadLine()) != null)
45 {
46 sw.Write(line.ToString());
47 }
48 }
49 catch (Exception e)
50 {
51 sw.Write(e + "路径出错");
52 Console.Write(e + "路径出错");
53 }
54 finally
55 {
56 //清空缓冲区
57 sw.Flush();
58
59 //关闭流
60 sw.Close();
61 if (sr != null)
62 {
63 sr.Close();
64 }
65 fs.Close();
66 }
67 }
68 }
69 }
结果: