Board logo

标题: 控制台程序或者应用程序输出错误到txt [打印本页]

作者: look_w    时间: 2019-4-17 18:21     标题: 控制台程序或者应用程序输出错误到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();
     
                    }




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0