3

以下に、基本的に abc.exe (コンソール アプリケーション) をいくつかの引数で実行する単純な powershell スクリプトを示します。

& abc.exe ar1 ar2

abc.exe ファイルは .net であるため、独自の例外ハンドラがあります。

abc.exe が例外をスローするたびに、Powershellscript がキャッチしてログ/エコーするようにしたいと考えています。

誰かが上記を達成する方法を手伝ってくれませんか。

4

1 に答える 1

6

いいえ。

abc.exe の例外は、それ以上ではなく、メイン メソッドにバブル アップします。ただし、 $LASTEXITCODEを見ると、abc.exe の ERRORLEVEL を確認できます。(これをチェックしてください)

あなたがすべきこと:

  • abc.exe は、すべての exe と同様に、すべてが正常であればエラーレベル 0 を返し、エラーの場合は他の番号を返す必要があります。
  • Abc.exe のメイン メソッドは、問題が発生した場合にエラー メッセージを書き込む可能性があります。このようにして、PowerShell スクリプトから呼び出すと、コンソールにエラー メッセージが表示され、後でスクリプトがエラーレベルをチェックします。

さらに、abc.exe のエラーレベルにさまざまな終了コードを使用して、PowerShell スクリプトに情報を提供することもできます。たとえば、これらは7zip エラー レベルです。

  • 0 --> エラーなし
  • 1 --> 警告
  • 2 --> 致命的なエラー
  • 7 --> コマンド ライン エラー
  • 8 --> 操作に十分なメモリがありません
  • 255 --> ユーザーがプロセスを停止しました
于 2013-04-04T11:22:19.370 に答える