2016-05-18 6 views
0

私は別のアプリケーションで実行されるコンソールアプリケーションを持っています。問題は、2番目のアプリケーションが最初にスローする例外(プロセスで実行)をキャッチできないことです。だから、私のリターンコードと適切なメッセージが含まれているいくつかのクラスを記述する必要があります。私の実行可能ファイルを実行するアプリはそれを使用し、リターンコードに応じてエラーメッセージを表示することができます。しかし、私はこのようなことをどうやってやるべきかわからない。C#2つのアプリケーション間でエラーメッセージを返すように整理する方法

+0

は、なぜあなたは ' - catch'を試してみて、そこにエラーをキャッチ以内にあなたの' Process'を開始しませんか? –

+0

'process.ExitCode'に' int main() '(または' Environment.Exit(X) ')の戻り値が含まれています –

+0

各アプリケーションですべての例外をキャッチできますか? – mohsen

答えて

0

これは私がつまずいた古い投稿ですが、なぜ答えませんか?

あなたが探しているのはエラーストリームだと思います。 Windowsおよび他のほとんどのシステムでは、OSはそれをstderrと参照しています。私は読書のためのいくつかのリンクを掲載しますが、本質的には、実行環境やアプリケーションが別々になっていると、OSが天気予報をしているか、終了していない(0)か、エラーが発生した(-1)ウィンドウには、実行メッセージを書き込む2つの別々のストリームstdoutまたはエラーを書き込むstderrがあります。これらの蒸気は、他のアプリケーションで読み取ることができます。詳細はこれらを見てください:

https://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput(v=vs.110).aspx

How to capture a Processes STDOUT and STDERR line by line as they occur, during process operation. (C#)

https://msdn.microsoft.com/en-us/library/system.diagnostics.process.standarderror(v=vs.110).aspx

は、「相互運用性ライブラリ」など、いくつかの他のより複雑なソリューションがあり、ニーズに応じて、またはファイルへの書き込み。

相互運用先: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/interop/

関連する問題