Write-Error
Zapíše objekt do datového proudu chyby.
Syntaxe
Write-Error
[-Message] <String>
[-Category <ErrorCategory>]
[-ErrorId <String>]
[-TargetObject <Object>]
[-RecommendedAction <String>]
[-CategoryActivity <String>]
[-CategoryReason <String>]
[-CategoryTargetName <String>]
[-CategoryTargetType <String>]
[<CommonParameters>]
Write-Error
-Exception <Exception>
[-Message <String>]
[-Category <ErrorCategory>]
[-ErrorId <String>]
[-TargetObject <Object>]
[-RecommendedAction <String>]
[-CategoryActivity <String>]
[-CategoryReason <String>]
[-CategoryTargetName <String>]
[-CategoryTargetType <String>]
[<CommonParameters>]
Write-Error
-ErrorRecord <ErrorRecord>
[-RecommendedAction <String>]
[-CategoryActivity <String>]
[-CategoryReason <String>]
[-CategoryTargetName <String>]
[-CategoryTargetType <String>]
[<CommonParameters>]
Description
Rutina Write-Error
deklaruje neukončující chybu. Ve výchozím nastavení se chyby odesílají ve streamu chyb do hostitelského programu, který se má zobrazit, spolu s výstupem.
Pokud chcete napsat neukončující chybu, zadejte řetězec chybové zprávy, ErrorRecord objektu nebo objekt Výjimka. K naplnění záznamu chyby použijte další parametry Write-Error
.
Neukončující chyby zapisují chybu do datového proudu chyb, ale nezastavují zpracování příkazů. Pokud je u jedné položky v kolekci vstupních položek deklarována neukončující chyba, příkaz bude i nadále zpracovávat ostatní položky v kolekci.
Chcete-li deklarovat ukončovací chybu, použijte klíčové slovo Throw
.
Další informace najdete v tématu about_Throw.
Příklady
Příklad 1: Zápis chyby pro objekt RegistryKey
Get-ChildItem | ForEach-Object {
if ($_.GetType().ToString() -eq "Microsoft.Win32.RegistryKey")
{
Write-Error "Invalid object" -ErrorId B1 -TargetObject $_
}
else
{
$_
}
}
Tento příkaz deklaruje neukončující chybu, když rutina Get-ChildItem
vrátí objekt Microsoft.Win32.RegistryKey, například objekty v HKLM: nebo HKCU: jednotky zprostředkovatele registru PowerShellu.
Příklad 2: Napsání chybové zprávy do konzoly
Write-Error "Access denied."
Tento příkaz deklaruje neukončující chybu a zapíše chybu "Přístup odepřen". Příkaz k zadání zprávy používá parametr Message, ale vynechá nepovinný název parametru Message.
Příklad 3: Zapište do konzoly chybu a zadejte kategorii.
Write-Error -Message "Error: Too many input values." -Category InvalidArgument
Tento příkaz deklaruje neukončující chybu a určuje kategorii chyb.
Příklad 4: Zápis chyby pomocí objektu výjimky
$E = [System.Exception]@{Source="Get-ParameterNames.ps1";HelpLink="https://go.microsoft.com/fwlink/?LinkID=113425"}
Write-Error -Exception $E -Message "Files not found. The $Files location does not contain any XML files."
Tento příkaz používá objekt Exception k deklaraci neukončující chyby.
První příkaz používá k vytvoření objektu System.Exception tabulku hash. Uloží objekt výjimky do proměnné $E
. K vytvoření libovolného objektu typu, který má konstruktor null, můžete použít tabulku hash.
Druhý příkaz používá rutinu Write-Error
k deklaraci neukončující chyby. Hodnota parametru exception
Parametry
-Category
Určuje kategorii chyby. Výchozí hodnota je Nezadaná. Přijatelné hodnoty pro tento parametr jsou:
- Nezadá se
- OpenError
- CloseError
- Chyba zařízení
- DeadlockDetected
- InvalidArgument
- InvalidData
- InvalidOperation
- InvalidResult
- InvalidType
- Chyba metadat
- NotImplemented
- Nenainstalováno
- ObjectNotFound
- OperaceStopped
- OperationTimeout
- SyntaxError
- ParserError
- PermissionDenied
- ResourceBusy
- ResourceExists
- ResourceUnavailable
- ReadError
- Chyba zápisu
- Pochází zStdErr
- Chyba zabezpečení
- Chyba protokolu
- Chyba připojení
- Chyba ověřování
- LimitsExceeded
- QuotaExceeded
- NotEnabled
Informace o kategoriích chyb naleznete v tématu Výčtu ErrorCategory.
Typ: | ErrorCategory |
Přípustné hodnoty: | NotSpecified, OpenError, CloseError, DeviceError, DeadlockDetected, InvalidArgument, InvalidData, InvalidOperation, InvalidResult, InvalidType, MetadataError, NotImplemented, NotInstalled, ObjectNotFound, OperationStopped, OperationTimeout, SyntaxError, ParserError, PermissionDenied, ResourceBusy, ResourceExists, ResourceUnavailable, ReadError, WriteError, FromStdErr, SecurityError, ProtocolError, ConnectionError, AuthenticationError, LimitsExceeded, QuotaExceeded, NotEnabled |
Position: | Named |
Default value: | NotSpecified |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CategoryActivity
Určuje akci, která způsobila chybu.
Typ: | String |
Aliasy: | Activity |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CategoryReason
Určuje, jak nebo proč aktivita způsobila chybu.
Typ: | String |
Aliasy: | Reason |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CategoryTargetName
Určuje název objektu, který byl zpracován při výskytu chyby.
Typ: | String |
Aliasy: | TargetName |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CategoryTargetType
Určuje typ objektu, který byl zpracován při výskytu chyby.
Typ: | String |
Aliasy: | TargetType |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ErrorId
Určuje řetězec ID pro identifikaci chyby. Řetězec by měl být jedinečný pro chybu.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ErrorRecord
Určuje objekt záznamu chyby, který představuje chybu. K popisu chyby použijte vlastnosti objektu.
Pokud chcete vytvořit objekt záznamu chyby, použijte rutinu New-Object
nebo získejte objekt záznamu o chybě z pole v $Error
automatické proměnné.
Typ: | ErrorRecord |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Exception
Určuje objekt výjimky, který představuje chybu. K popisu chyby použijte vlastnosti objektu.
K vytvoření objektu výjimky použijte tabulku hash nebo použijte rutinu New-Object
.
Typ: | Exception |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Message
Určuje text zprávy chyby. Pokud text obsahuje mezery nebo speciální znaky, uzavřete ho do uvozovek. Můžete také převést řetězec zprávy na Write-Error
.
Typ: | String |
Aliasy: | Msg |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-RecommendedAction
Určuje akci, kterou má uživatel provést, aby chybu vyřešil nebo zabránil.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-TargetObject
Určuje objekt, který byl zpracován při výskytu chyby. Zadejte objekt, proměnnou obsahující objekt nebo příkaz, který objekt získá.
Typ: | Object |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Řetězec, který obsahuje chybovou zprávu pro Write-Error
, můžete převést řetězec .
Výstupy
Error object
Write-Error
zapisuje pouze do datového proudu chyb. Nevrací žádné objekty.