10
Я пытаюсь получить номер строки ошибки при запуске сценария Powershell. Вот что я использую в данный момент:Как получить номер строки ошибки в Powershell
$e = $_.Exception
$line = $_.Exception.InvocationInfo.ScriptLineNumber
$msg = $e.Message
Write-Host -ForegroundColor Red "caught exception: $e at $line"
Иногда это работает, а иногда и нет. Мне интересно, что я делаю что-то не так, или что я могу сделать, чтобы сделать эту работу более последовательной.
ли заявления об уловах стараются не давать вам информацию, нужно? Это в уловке? –
Ошибка try/catch не дает ошибку. Он не перечисляет номер строки и прочее. – BlackHatSamurai
Я догадался (хотя никаких исключений, чтобы поймать сейчас), что-то вроде: catch {[Exception] $ _. ScriptLineNumber} может это сделать ... Но я также просто ломаю свои ошибки и повторяю исключение, и это обычно дает мне то, что мне нужно , Поэтому я рад, что вы это нашли. –