AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
сам обработчик выглядит так:
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e.ExceptionObject is Exception)
{
string m = (e.ExceptionObject as Exception).Message;
DialogResult r = MessageBox.Show(
"Fatal error occurred and application will close now.\n\n" +
m + "\n\n" + "Would you like to generate dump file ?", "Fatal error",
MessageBoxButtons.YesNo, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2);