. Custom exception handling source code in NET development
Source: Internet
Author: User
Custom Exception Handling Classes
Using System;
Using System.Diagnostics;
Namespace Myappexception
{
<summary>
ApplicationException an inherited application exception handling class from the system exception class.
Automatically logs exception content to the Windows nt/2000 Application log
</summary>
public class AppException:System.ApplicationException
{
Public Appexception ()
{
if (applicationconfiguration.eventlogenabled) LogEvent ("An unknown error occurred.") ");
}
Public appexception (String message)
{
LogEvent (message);
}
Public appexception (String message,exception innerexception)
{
LogEvent (message);
if (innerexception!= null)
{
LogEvent (Innerexception.message);
}
}
Logging class
Using System;
Using System.Configuration;
Using System.Diagnostics;
Using System.IO;
Using System.Text;
Using System.Threading;
Namespace MyEventLog
{
<summary>
Event logging classes, providing event logging support
<remarks>
Defines 4 logging methods (Error, warning, info, trace)
</remarks>
</summary>
public class Applicationlog
{
<summary>
Log error messages to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writeerror (String message)
{
Writelog (tracelevel.error, message);
}
<summary>
Log warning messages to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writewarning (String message)
{
Writelog (tracelevel.warning, message);
}
<summary>
To log a hint to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writeinfo (String message)
{
Writelog (tracelevel.info, message);
}
<summary>
Log trace information to the Win2000/nt event log
<param name= "Message" The text information you need to record </param>
</summary>
public static void Writetrace (String message)
{
Writelog (tracelevel.verbose, message);
}
<summary>
Format text information that is logged to the event log
<param name= "Ex" the exception object that needs to be formatted </param>
<param name= "Catchinfo" > exception message header string. </param>
<retvalue>
The <para> the formatted exception information string, including the exception content and the trace stack. </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>
Actual Event Log Write method
<param name= the level of information to be recorded (Error,warning,info,trace). </param>
<param name= "MessageText" > text to be recorded. </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);
Writing to the event log
EventLog.WriteEntry (MessageText, Logentrytype);
}
Catch {}//ignore any exceptions
}
}//class Applicationlog
}
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service