Mega Code Archive

 
Categories / C# / Language Basics
 

Use final to deal with custom Exceptions

using System; using System.Runtime.Serialization; class TestDirectoryMissingException : ApplicationException {     public TestDirectoryMissingException() :         base() {     }     public TestDirectoryMissingException(string msg) :         base(msg) {     }     public TestDirectoryMissingException(SerializationInfo info, StreamingContext cxt) :         base(info, cxt) {     }     public TestDirectoryMissingException(string msg, Exception inner) :         base(msg, inner) {     } } class MainClass {     static void DoStuff() {         if (System.IO.Directory.Exists("c:\\test") == false)             throw new TestDirectoryMissingException("The test directory does not exist");     }     static void Main(string[] args) {         try {              DoStuff();         } catch (System.IO.DirectoryNotFoundException e1) {             System.Console.WriteLine(e1.StackTrace);             System.Console.WriteLine(e1.Source);             System.Console.WriteLine(e1.TargetSite);         } catch (System.IO.FileNotFoundException e2) {         } catch (System.Exception e) {             System.Console.WriteLine("Ex");         } finally {             System.Console.WriteLine("final");         }     } }