zoukankan      html  css  js  c++  java
  • 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 }

    结果:

     

  • 相关阅读:
    1033 To Fill or Not to Fill (25分)(贪心)
    CentOS(五)--Linux系统的分区概念
    Linux安装Oracle 11G过程(测试未写完)
    【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5
    CentOS(四)--Linux系统的启动级别
    CentOS(三)--初识linux的文件系统以及用户组等概念
    CentOS(二)--初识linux的一些常用命令
    CentOS(一)--CentOS6.4环境搭建
    Linux c/c++图片传输功能(中级版)
    remote uptime 服务器程序
  • 原文地址:https://www.cnblogs.com/chenhailing/p/7449647.html
Copyright © 2011-2022 走看看