public static void Main()
catch(VeryBadException) {
Console.WriteLine("Ending the app with a very bad exception");
public static void DoWork()
Console.WriteLine(new[]{"a","a","b"}.Single(x=>x=="a"));
catch(InvalidOperationException){
Console.WriteLine("Expecting this -- but it's still VeryBad");
throw new VeryBadException();
Console.WriteLine("crap", e.ToString());
public class VeryBadException : Exception