C# 从正在运行的进程捕获异常

C# 从正在运行的进程捕获异常,c#,process,C#,Process,我正在运行一个进程,该进程是一个EXE文件,它将始终在后台运行并侦听键盘事件,我使用以下代码启动EXE文件: ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = exeFile; startInfo.Arguments = args; startInfo.RedirectStandardOutput = t

我正在运行一个进程,该进程是一个EXE文件,它将始终在后台运行并侦听键盘事件,我使用以下代码启动EXE文件:

            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = exeFile;
            startInfo.Arguments = args;
            startInfo.RedirectStandardOutput = true;
            startInfo.RedirectStandardError = true;
            startInfo.UseShellExecute = false;
            startInfo.CreateNoWindow = true;

            Process processTmp = new Process();
            processTmp.StartInfo = startInfo;
            processTmp.EnableRaisingEvents = true;

            try
            {
                _keyboardListener = processTmp;
                _keyboardListener.Start();
            }
            catch (Exception)
            {
            }

然后它会向我的应用程序发送一些输入,但有时它会抛出一个异常,进程将停止正常工作,但是如何查看进程是否抛出了一个异常?当我测量退出代码时,会抛出一个异常,告诉我需要停止进程以获取退出代码

既然您想捕获异常,就可以在catch块中使用

       try
        {
            _keyboardListener = processTmp;
            _keyboardListener.Start();
        }
        catch (Exception ex)
        {

        MessageBox.Show(ex.message);

           // OR
          //You can write to any text file using StreamWriter

        }

希望这有帮助

问题是。。开始很好。。但这一过程可能需要5-10分钟才能结束。