PowerShell 2.0 и как обрабатывать исключения?

Почему я получаю сообщение об ошибке, выводимое на консоль при запуске этих двух простых примеров? Я хочу, чтобы на консоли было напечатано сообщение «Ошибка тестирования :)», содержащее:

Get-WmiObject: RPC-сервер недоступен. (Исключение из HRESULT: 0x800706BA) В строке: 3 символа: 15 + Get-WmiObject <<<< -ComputerName возможно.nonexisting.domain.com -Credential (Get-Credential) -Класс Win32_logicaldisk + CategoryInfo: InvalidOperation: (:) [Get-WmiObject], COMException + FullyQualifiedErrorId: GetWMICOMException, Microsoft.PowerShell.Commands.GetWmiObjectCommand

или

Попытка разделить на ноль. На строке: 3 char: 13 + $ i = 1 / <<<< 0
+ CategoryInfo: NotSpecified: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: RuntimeException

Первый пример:

try
{
    $i = 1/0   
    Write-Host $i     
}
catch [Exception]
{ 
    Write-Host "Error testing :)" 
}

Второй пример:

try
{
    Get-WmiObject -ComputerName possibly.nonexisting.domain.com -Credential (Get-Credential) -Class Win32_logicaldisk 
}
catch [Exception]
{ 
    Write-Host "Error testing :)" 
}

Большое спасибо!

7
задан Primoz 14 January 2011 в 14:06
поделиться