繁体   English   中英

我如何获得程序崩溃的通知

[英]How can I get notification that my program has crashed

我已经编写了一个BAT文件来运行我的程序十次。 但是在某些时候,该程序将崩溃。 我希望我可以检测到这种情况,然后关闭程序。 响应的C#进程未能知道此问题。

问题的图片

请参阅如何在.NET中指定控制台应用程序的退出代码? MSDN: 控制台应用程序中的 Main()返回值(C#编程指南).NET全局异常处理程序

之所以显示该对话框,是因为您没有捕获异常。 您需要结合此处显示的所有内容,因此:

class Program {
    static void Main(string[] args) {
        AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionTrapper;

        // Your code here
        throw new Exception("Kaboom");
    }

    static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e) {
        Console.WriteLine(e.ExceptionObject.ToString());
        Environment.Exit(1);
    }
}

和:

@echo off
TestExceptionApp
@if "%ERRORLEVEL%" == "0" goto good

:fail
    echo Execution Failed
    echo return value = %ERRORLEVEL%
    goto end

:good
    echo Execution succeeded
    echo Return value = %ERRORLEVEL%
    goto end

:end

您必须编写一个单独的程序,以创建捕获错误的新进程。 捕获后,可以在错误处理通知之前在catch语句中向自己发送通知。

它可能需要作为从本地用户系统调用的单独程序运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM