答案 0 :(得分:2)
请参阅How do I specify the exit code of a console application in .NET?,MSDN: Main() Return Values (C# Programming Guide)和.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
答案 1 :(得分:0)
您必须编写一个单独的程序来创建捕获错误的新进程。捕获时,您可以在错误处理通知之前在catch语句中向自己发送通知。
它可能需要作为从本地用户系统调用的单独程序运行。