Take this code:
using System; namespace OddThrow { class Program { static void Main(string[] args) { try {
To put a couple of answers together, what happens is that as soon as you have a Unhandled Exception a UnhandledExceptionEvent is raised on the AppDomain, then the code continues to execute (i.e. the finally). This is the MSDN Article on the event