2

PSCmdlet独自のエラーメッセージを提供したいエラーから派生したカスタムpowershellコマンドがあります。MSDNErrorDetailsのプロパティに従って、次のErrorRecordことを行います:

より詳細な置換エラー メッセージなど、エラー レコードの追加エラー情報を提供します。

これでDisplayStrings.resxカスタムエラーメッセージを IDInvalidOrNoSiteで保存しましたが、次のコードを実行すると、カスタムエラーではなく、同じ古いスタイルのエラーが表示されます。

ErrorRecord err = new ErrorRecord(new ArgumentException(), "", ErrorCategory.InvalidArgument, this);
err.ErrorDetails = new ErrorDetails(this, "Resources.DisplayStrings.ResourceManager", "InvalidOrNoSite", null);
ThrowTerminatingError(err);

ErrorDetails の使用例はありますか?

4

1 に答える 1

0

のエラーを変更すると、のカスタマイズが機能します。ErrorDetailnon-terminating error

この動作はマイクロソフトのドキュメントでは説明されていません [または、少なくとも私は見つけていません :)]が、数年前に購入した本 (Wrox - Professional Windows PowerShell Programming - 2008 年 2 月) の 97 ページにはterminating error、動作しません。

私の回避策は、「フラグ」変数をに設定し、この変数をテストtrueしたcatch後に、次のコードの一部またはすべてを実行するか実行しないことです。

于 2012-11-28T13:52:56.503 に答える