SORU
28 HAZİRAN 2010, PAZARTESİ


.NET Global özel konsol uygulaması işleyicisi

Soru: konsol uygulaması benim işlenmeyen özel durumlar için genel bir istisna işleyicisi tanımlamak istiyorum. ASP.NET biri tanımlayabilir küresel bir.asax ve windows uygulamaları /hizmetler, aşağıdaki gibi tanımlayabilirsiniz

AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException  = new UnhandledExceptionEventHandler(MyExceptionHandler);

Ama nasıl küresel bir istisna işleyicisi bir konsol uygulaması olabilir miyim ?< / ^ br . currentDomain iş değil gibi görünüyor (.NET 2.0) ?

Düzenleme:< / ^ br .

Ahh, aptal bir hata.< / ^ br . "CurrentDomain önünde, ya da başka IntelliSense UnhandledException olay olduğunu göremiyor... . AddHandler anahtar kelime eklemek için bir ihtiyaç VB.NET, ^ / ^ br . Çünkü VB.NET ve C# derleyicileri tedavi olayı farklı bakıyor.

CEVAP
28 HAZİRAN 2010, PAZARTESİ


Hayır, bunu yapmanın doğru yolu bu. Bu, olması gerektiği gibi bir şey belki de çalışabilirsiniz tam olarak çalıştı:

using System;

class Program {
    static void Main(string[] args) {
        System.AppDomain.CurrentDomain.UnhandledException  = UnhandledExceptionTrapper;
        throw new Exception("Kaboom");
    }

    static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e) {
        Console.WriteLine(e.ExceptionObject.ToString());
        Console.WriteLine("Press Enter to continue");
        Console.ReadLine();
        Environment.Exit(1);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • NightShader1

    NightShader1

    25 Temmuz 2006