首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

控制台程序或者应用程序输出错误到txt

控制台程序或者应用程序输出错误到txt

控制台程序在服务器上运行错误时容易崩溃,无法找到原因





为了找到原因 我们可以 把 错误输出 在txt中





代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    using System.Threading;
    using System.Windows.Forms;
    using System.IO;
    using System.Diagnostics;
     
     
    namespace Test
     
    {
        class Program
        {
     
               static void Main(string[] args)
            {
                AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
                     
            
            }
     
            static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
            {
                var ss = string.Format("{0}发生系统异常。\r\n{1}\r\n\r\n\r\n", DateTime.Now, e.ExceptionObject.ToString());
                File.AppendAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "系统异常.log"), ss);
     
     
     
      //    MessageBox.Show("应用程序未知错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            //    Application.Exit();
            }
     
     
     
     
    }
     




可能出错的地方 可以

      try {} catch{                   throw new Exception("error: ");          }
     






应用程序中 也可以 用

      File.AppendAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "系统异常.log"), ss);
     






或者





      try
                    {
                        executeInsert(sSQLHeader + sSqlEntity.Substring(0, sSqlEntity.Length - 1));
     
     
                        closeConnection();
                    }
                    catch
                    {
     
                        System.IO.StreamWriter sw1 = System.IO.File.AppendText("log.txt");
                        sw1.WriteLine(DateTime.Now.ToString());
                 sw1.WriteLine(sSQLHeader + sSqlEntity.Substring(0, sSqlEntity.Length - 1));
                        sw1.Flush();
                        sw1.Close();
     
                    }
返回列表