.NET - ' " uygulamak için en iyi yolu Ne;tüm özel durumları yakalamak işleyicisi"
En iyi yolu bir olması ne merak ediyorum eğer her şey başarısız olursa "yakalamak".
Çok özel durumlar uygulama olarak mümkün, idare ediyorsun yani ama yine de bir şeyler yapmak istiyorum bu yüzden hatalar olması kaçınılmazdır vardır bilgi toplamak ve depolamak böylece tüm işlenmemiş özel durumları yakalar bir veritabanında veya bir web hizmetine gönderebilirsiniz.
Uygulama yapar.CurrentDomain.Olay her şeyi yakalamak UnhandledException? Eğer uygulama birden çok iş parçacığı bile?
Yan not: Windows herhangi bir uygulama izin yerel API işlevleri sunar Vista bir kaza... adı aklıma gelmiyor... ama bence sonra kendini kurtarmak için değil kullanıcılarımızın çoğu hala Windows XP kullanıyor gibi kullanabilirsiniz.
CEVAP
Sadece Uygulama. UnhandledException davranış ile oynadı,ben (bu özel durum işlenmeyen kayıtlıdır son aşamasıdır)
Evet, uygulama sona erdirilecek olay işleyicileri ve "... program çalışmayı durdurdu iletişim" gösterilen kötü işledikten sonra
:) Sanahalabu önleyebilirsiniz.
Check out:
class Program
{
void Run()
{
AppDomain.CurrentDomain.UnhandledException = new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Console.WriteLine("Press enter to exit.");
do
{
(new Thread(delegate()
{
throw new ArgumentException("ha-ha");
})).Start();
} while (Console.ReadLine().Trim().ToLowerInvariant() == "x");
Console.WriteLine("last good-bye");
}
int r = 0;
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Interlocked.Increment(ref r);
Console.WriteLine("handled. {0}", r);
Console.WriteLine("Terminating " e.IsTerminating.ToString());
Thread.CurrentThread.IsBackground = true;
Thread.CurrentThread.Name = "Dead thread";
while (true)
Thread.Sleep(TimeSpan.FromHours(1));
//Process.GetCurrentProcess().Kill();
}
static void Main(string[] args)
{
Console.WriteLine("...");
(new Program()).Run();
}
}
S. S.Uygulama işlenmeyen bir kolu yapmak.Yüksek düzeyde ThreadException (Win) veya DispatcherUnhandledException sınıf kütüphanesi.
İnput type=&; tarih" biçimini " d...
&Quot bağlayın;ayrıcalıklı" port ...
IDisposable ve "kullanarak" ...
&Quot yazmak için herhangi bir sebep;ö...
Hata mesajı çözmek için nasıl: "g...