Relatório de exceção de um aplicativo WPF

Então, digamos que eu tenha uma exceção não tratada no meu aplicativo ou ele travar por algum motivo. Existe alguma maneira de capturar a saída e mostrar uma caixa de diálogo de relatório de erro quando o aplicativo falh

O que eu estou pensando é ter um pequeno programa em execução em segundo plano, cujo único trabalho é ouvir uma saída anormal do aplicativo principal e mostrar a caixa de diálogo 'report' onde o usuário pode optar por me enviar por e-mail a saída do erro

Não tenho muita certeza de como implementar isso ou se é o caminho certo para fazê-l

Relatar a mensagem de erro seria uma tarefa fácil, mas não tenho idéia de como capturar a saída de uma exceção não tratada ou capturar os códigos de saída (suponho que o programa daria um código de saída diferente de 0 quando falha).

eria ótimo ter uma cutucada na direção cert

questionAnswers(3)

yourAnswerToTheQuestion