static void Main() { IEmailler emailler = new Emailler(); ILog log = new Logger(emailler); try { var processor = new QuoteProcessor(log); processor.RunImporter(); } // If cannot be handled should bubble up to the top and application stop catch (Exception ex) { log.Exception("Global error handler " + ex.Message); } }