从运行的进程中捕获异常

本文关键字:捕获异常 进程 运行 | 更新日期: 2023-09-27 18:15:34

我正在运行一个进程,这是一个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
        }

希望能有所帮助