簡潔になったエラーメッセージ

PowerShell 7.0.0-preview5では、エラーメッセージの表示も変わっている。PowerShellでは誤った処理を行うと赤い文字でエラーメッセージが表示される。正直なところ、これを大げさで面倒くさいと感じたことはないだろうか。このエラーメッセージは、「$ErrorView」の値を変更することで変えることができる。例えば、次に示すのは「$ErrorView」に「NormalView」を設定した場合の出力例だ。

「$ErrorView」が「NormalView」のときのエラーメッセージサンプル(PowerShell 7.0.0 Preview4までのデフォルトの挙動)

PowerShell 7.0.0 Preview4までは、この設定がデフォルトになっていた。ユーザーは、これまでにこの形式のエラーメッセージを何度も見てきたはずだ。

これまでは、ほかに「CategoryView」という設定も用意されていた。エラーの種類だけを表示するもので、次のようにエラーメッセージの内容が最小限になる。

「$ErrorView」が「CategoryView」のときのエラーメッセージサンプル

PowerShell 7.0.0 Preview5には、新しく「ConciseView」という設定が追加され、これがデフォルトになっている。「ConciseView」は、「NormalView」と「CategoryView」の中間のような設定で、「NormalView」よりも簡潔な出力となる。

「$ErrorView」が「ConciseView」のときのエラーメッセージサンプル

デフォルトで表示されるエラーメッセージが簡潔になることで、大げさだったエラー表示が多少は扱いやすくなる。しかも、「CategoryView」よりは情報量が多いので、それなりに役に立つ。”いいとこ取り”ができるバランスを考えた結果が「ConciseView」ということになる。

デバッグに使えるGet-Error

PowerShell 7.0.0 Preview5ではデフォルトのエラーメッセージの情報量が減ったためか、逆にエラーの内容を詳しく表示するためにGet-Errorというコマンドレットが導入されている。「$ErrorView」を「NormalView」にした場合よりも詳細な情報が表示されるようになっており、エラーメッセージの内容を見るというよりも、デバッグ向けに分析結果を見るといったような内容になっている。Get-Errorコマンドレットの実行例を次に示す。

Get-Errorコマンドレットの実行例

Get-Errorコマンドレットは直近のエラーに関する詳細情報を出力してくれるので、そうした情報を知りたい場合には非常に便利だ。

こんな感じでPowerShell 7.0.0 Preview5ではいくつかのコマンドレットの利便性が引き上げられている。細かい変更ではあるものの、ユーザー目線で実施された注目のポイントだ。エラーメッセージの変更やGet-Errorコマンドレットについてはまだ提案段階なので、この後変更となる可能性もあるが、便利になることは間違いない。今後の動向に注目しておきたい。

参考資料