21

PowerShell スクリプトの実行時にエラーの行番号を取得しようとしています。現時点で使用しているものは次のとおりです。

$e = $_.Exception
$line = $_.Exception.InvocationInfo.ScriptLineNumber
$msg = $e.Message 

Write-Host -ForegroundColor Red "caught exception: $e at $line"

これが機能する場合もあれば、機能しない場合もあります。私は何か間違ったことをしているのか、それともこれをより一貫して機能させるために何ができるのか疑問に思っています。

4

2 に答える 2

37

問題が何であるかを理解しました:

それ以外の:

$e = $_.Exception
#this is wrong
$line = $_.Exception.InvocationInfo.ScriptLineNumber
$msg = $e.Message 

Write-Host -ForegroundColor Red "caught exception: $e at $line"

そのはず

$e = $_.Exception
$line = $_.InvocationInfo.ScriptLineNumber
$msg = $e.Message 

Write-Host -ForegroundColor Red "caught exception: $e at $line"
于 2013-06-21T02:45:34.510 に答える