私はC#を使用してコンソールアプリケーションを作成しましたが、別のWindowsフォームアプリケーションからProcess
を使用して呼び出しました。以下はプロセスのエラー処理C#
は、コンソールアプリケーション
以下static void Main(string[] args)
{
try
{
// ...my code
}
catch (Exception)
{
throw;
}
}
のための私のコードで呼び出しのためのコードは、私が欲しいもの、プロセス
今public void CallExe()
{
try
{
Process proc = new Process();
proc.StartInfo.FileName = @"D:\Debug\console1.exe";
proc.StartInfo.Arguments = "My args";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
string stdout = proc.StandardOutput.ReadToEnd();
string stderr = proc.StandardError.ReadToEnd();
proc = null;
}
catch (Exception ex)
{
throw ex;
}
}
を使用して、ウィンドウアプリケーションからコンソールアプリケーションのexeファイルの場合に任意のエラーですコンソールアプリケーションから来る それは直接私のウィンドウのアプリケーションキャッチブロックにスローされます。または、コンソールアプリケーションでスローされたウィンドウアプリケーションにエラーメッセージが表示されますか?
ます別のプロセスで発生したエラーを検出することはできませんが、コンソールアプリケーションから終了コードを返すことはできません。 – stuartd
コンソールアプリケーションからex.messageを入手できますか? –
[終了コードを指定する](http://stackoverflow.com/questions/155610/how-do-i-specify-the-exit-code-of-a-console-application-in-net)が可能です。整数を取得し、[Process.ExitCode'](https://msdn.microsoft.com/en-us/library/system.diagnostics.process.exitcode(v = vs.110).aspx)から取得します。または、標準出力または標準エラー – stuartd