May 2003
Intermediate to advanced
720 pages
17h 50m
English
The intrinsic exception types the CLR
provides, coupled with the custom messages shown in the previous
example, will often be all you need to provide extensive information
to a catch block when an exception is thrown.
There will be times, however, when you want to provide more extensive
information or need special capabilities in your exception. It is a
trivial matter to create your own custom
exception class; the only restriction is that it
must derive (directly or indirectly) from
System.ApplicationException. Example 11-7 illustrates the creation of a custom
exception.
Example 11-7. Creating a custom exception
namespace Programming_CSharp { using System; public class MyCustomException : System.ApplicationException { public MyCustomException(string message): base(message) { } } public class Test { public static void Main( ) { Test t = new Test( ); t.TestFunc( ); } // try to divide two numbers // handle possible exceptions public void TestFunc( ) { try { Console.WriteLine("Open file here"); double a = 0; double b = 5; Console.WriteLine ("{0} / {1} = {2}", a, b, DoDivide(a,b)); Console.WriteLine ( "This line may or may not print"); } // most derived exception type first catch (System.DivideByZeroException e) { Console.WriteLine( "\nDivideByZeroException! Msg: {0}", e.Message); Console.WriteLine( "\nHelpLink: {0}\n", e.HelpLink); } catch (MyCustomException e) { Console.WriteLine( "\nMyCustomException! Msg: {0}", e.Message); Console.WriteLine( "\nHelpLink: {0}\n", ...Read now
Unlock full access