国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.NET開發中自定義異常處理源代碼

2024-07-10 13:12:51
字體:
來源:轉載
供稿:網友
 
//自定義異常處理類
using system;
using system.diagnostics;
namespace myappexception
{
  /// <summary>
  /// 從系統異常類applicationexception繼承的應用程序異常處理類。
  /// 自動將異常內容記錄到windows nt/2000的應用程序日志
  /// </summary>
  public class appexception:system.applicationexception
  {
  public appexception()
  {
  if (applicationconfiguration.eventlogenabled)logevent("出現一個未知錯誤。");
  }
  public appexception(string message)
  {
  logevent(message);
  }
  public appexception(string message,exception innerexception)
  {
  logevent(message);
  if (innerexception != null)
  {
  logevent(innerexception.message);
  }
  }
  //日志記錄類
  using system;
  using system.configuration;
  using system.diagnostics;
  using system.io;
  using system.text;
  using system.threading;
  namespace myeventlog
  {
  /// <summary>
  /// 事件日志記錄類,提供事件日志記錄支持
  /// <remarks>
  /// 定義了4個日志記錄方法 (error, warning, info, trace)
  /// </remarks>
  /// </summary>
  public class applicationlog
  {
  /// <summary>
  /// 將錯誤信息記錄到win2000/nt事件日志中
  /// <param name="message">需要記錄的文本信息</param>
  /// </summary>
  public static void writeerror(string message)
  {
  writelog(tracelevel.error, message);
  }
  /// <summary>
  /// 將警告信息記錄到win2000/nt事件日志中
  /// <param name="message">需要記錄的文本信息</param>
  /// </summary>
  public static void writewarning(string message)
  {
  writelog(tracelevel.warning, message);  
  }
  /// <summary>
  /// 將提示信息記錄到win2000/nt事件日志中
  /// <param name="message">需要記錄的文本信息</param>
  /// </summary>
  public static void writeinfo(string message)
  {
  writelog(tracelevel.info, message);
  }
  /// <summary>
  /// 將跟蹤信息記錄到win2000/nt事件日志中
  /// <param name="message">需要記錄的文本信息</param>
  /// </summary>
  public static void writetrace(string message)
  {
  writelog(tracelevel.verbose, message);
  }
  /// <summary>
  /// 格式化記錄到事件日志的文本信息格式
  /// <param name="ex">需要格式化的異常對象</param>
  /// <param name="catchinfo">異常信息標題字符串.</param>
  /// <retvalue>
  /// <para>格式后的異常信息字符串,包括異常內容和跟蹤堆棧.</para>
  /// </retvalue>
  /// </summary>
  public static string formatexception(exception ex, string catchinfo)
  {
  stringbuilder strbuilder = new stringbuilder();
  if (catchinfo != string.empty)
  {
  strbuilder.append(catchinfo).append("/r/n");
  }
  strbuilder.append(ex.message).append("/r/n").append(ex.stacktrace);
  return strbuilder.tostring();
  }
  /// <summary>
  /// 實際事件日志寫入方法
  /// <param name="level">要記錄信息的級別(error,warning,info,trace).</param>
  /// <param name="messagetext">要記錄的文本.</param>
  /// </summary>
  private static void writelog(tracelevel level, string messagetext)
  {
  try
  {
  eventlogentrytype logentrytype;
  switch (level)
  {
  case tracelevel.error:
  logentrytype = eventlogentrytype.error;
  break;
  case tracelevel.warning:
  logentrytype = eventlogentrytype.warning;
  break;
  case tracelevel.info:
  logentrytype = eventlogentrytype.information;
  break;
  case tracelevel.verbose:
  logentrytype = eventlogentrytype.successaudit;
  break;
  default:
  logentrytype = eventlogentrytype.successaudit;
  break;
  }
  eventlog eventlog = new eventlog("application", applicationconfiguration.eventlogmachinename, applicationconfiguration.eventlogsourcename );
  //寫入事件日志
  eventlog.writeentry(messagetext, logentrytype);
  }
  catch {} //忽略任何異常
  }
  } //class applicationlog
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 茂名市| 新安县| 泉州市| 北安市| 彰化市| 龙南县| 井陉县| 弥勒县| 惠东县| 灵武市| 河南省| 灵寿县| 乾安县| 东山县| 禄丰县| 九江市| 马山县| 昌都县| 江川县| 寿阳县| 扶余县| 晋中市| 房山区| 阿拉善右旗| 蓝田县| 登封市| 苗栗市| 昌都县| 宜阳县| 乌鲁木齐县| 常山县| 沭阳县| 阳曲县| 东阳市| 利辛县| 沙坪坝区| 会泽县| 菏泽市| 合肥市| 新河县| 大城县|