在控制台应用程序.NET全局异常处理程序

编程入门 行业动态 更新时间:2024-10-25 16:17:26
本文介绍了在控制台应用程序.NET全局异常处理程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

问:我想定义一个全局异常处理程序在我的控制台应用程序中未处理的异常。在asp中,可以定义一个在Global.asax中,并在Windows应用/服务,可以定义如下

Question: I want to define a global exception handler for unhandled exceptions in my console application. In asp, one can define one in global.asax, and in windows applications /services, one can define as below

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

但我怎么可以定义一个全局异常处理程序的控制台应用程序? currentDomain似乎不工作(.NET 2.0)?

But how can I define a global exception handler for a console application ? currentDomain seems not to work (.NET 2.0) ?

编辑:

哎呀,愚蠢的错误。 在VB.NET中,需要添加的AddHandler关键字currentDomain前面,否则一个不看UnhandledException事件智能感知... 这是因为VB.NET和C#编译器对待事件的处理有所不同。

Argh, stupid mistake. In VB.NET, one needs to add the "AddHandler" keyword in front of currentDomain, or else one doesn't see the UnhandledException event in IntelliSense... That's because the VB.NET and C# compilers treat event handling differently.

推荐答案

没有,这是做了正确的方法。这个工作正是因为它应该是你可以或许工作:

No, that's the correct way to do it. This worked exactly as it should, something you can work from perhaps:

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); } }

更多推荐

在控制台应用程序.NET全局异常处理程序

本文发布于:2023-11-16 10:08:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1603322.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:控制台   全局   应用程序   异常   程序

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!