В WinForms я использую:
Что мне следует использовать для не -многопоточного приложения Winforms -?
Рассмотрим полный код ниже на C #.NET 4.0:
using System;
using System.Threading.Tasks;
namespace ExceptionFun
{
class Program
{
static void Main(string[] args)
{
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Task.Factory.StartNew(() =>
{
throw new Exception("Oops, someone forgot to add a try/catch block");
});
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
//never executed
Console.WriteLine("Logging fatal error");
}
}
}
Я видел множество подобных вопросов на stackoverflow, но ни один из них не содержал удовлетворительного ответа. Большинство ответов имеют тип :«Вы должны включить правильную обработку исключений в свой код» или «Использовать AppDomain.CurrentDomain.UnhandledException».
Редактировать :Кажется, мой вопрос был неправильно понят, поэтому я переформулировал его и предоставил меньший пример кода.