簡體   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