我怎样才能得到我的程序崩溃的通知

How can I get notification that my program has crashed

我已经将 BAT 文件写入 运行 我的程序十次了。 但在某些时候,程序会崩溃。 我希望我能检测到这种情况然后关闭程序。 Responding的c#进程不知道这个问题。

参见How do I specify the exit code of a console application in .NET?, MSDN: Main() Return Values (C# Programming Guide) and .NET Global exception handler in console application

显示该对话框是因为您没有捕捉到异常。您需要组合此处显示的所有内容,因此:

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

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

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