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");
}
}
}
Related examples in the same category