С помощью параметра -ErrorAction
вы можете определить, что должен делать командлет в случае ошибки.В случае stop
командлет выдает исключение, которое вы можете перехватить.
Try {
Get-Credential -ErrorAction Stop
}catch {
Write-Error "User canceled. Exception $($_.Exception)"
return
}
Если вы не хотите перехватывать исключения, вы можете использовать автоматическую переменную Powershells $error
- переменная:
# User cancels the dialog
$error.Clear()
Get-Credential
if ($error.Count -gt 0) {
Write-Error "User canceled"
}
Поскольку $error
будет содержать ошибки заранее вызванных командлетов, вам необходимо очистить содержимое.У вас также есть возможность определить собственную переменную ошибки с помощью параметра -ErrorVariable
.
Ниже ссылки содержат дополнительную информацию по этой теме: