Write-Error
Hiermee schrijft u een object naar de foutstroom.
Syntax
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
De Write-Error cmdlet declareert een niet-afsluitfout. Fouten worden standaard verzonden in de foutstroom naar het hostprogramma dat moet worden weergegeven, samen met uitvoer.
Als u een niet-afsluitfout wilt schrijven, voert u een tekenreeks voor een foutbericht, een Object ErrorRecord of een uitzonderingsobject in. Gebruik de andere parameters om Write-Error de foutrecord te vullen.
Niet-afsluitfouten schrijven een fout naar de foutstroom, maar stoppen de verwerking van opdrachten niet. Als een niet-afsluitfout wordt gedeclareerd voor één item in een verzameling invoeritems, blijft de opdracht de andere items in de verzameling verwerken.
Als u een afsluitfout wilt declareren, gebruikt u het Throw trefwoord.
Zie about_Throw voor meer informatie.
Voorbeelden
Voorbeeld 1: Een fout schrijven voor het RegistryKey-object
Get-ChildItem | ForEach-Object {
if ($_.GetType().ToString() -eq "Microsoft.Win32.RegistryKey")
{
Write-Error "Invalid object" -ErrorId B1 -TargetObject $_
}
else
{
$_
}
}
Deze opdracht declareert een niet-afsluitfout wanneer de Get-ChildItem cmdlet een Microsoft.Win32.RegistryKey object retourneert, zoals de objecten in de HKLM: of HKCU: stations van de PowerShell-registerprovider.
Voorbeeld 2: Een foutbericht naar de console schrijven
Write-Error "Access denied."
Met deze opdracht wordt een niet-afsluitfout gede declareert en wordt de fout 'Toegang geweigerd' geschreven. De opdracht gebruikt de parameter Message om het bericht op te geven, maar laat de optionele naam van de message-parameter weg.
Voorbeeld 3: Schrijf een fout naar de console en geef de categorie op
Write-Error -Message "Error: Too many input values." -Category InvalidArgument
Met deze opdracht wordt een niet-afsluitfout declareren en wordt een foutcategorie opgegeven.
Voorbeeld 4: Een fout schrijven met behulp van een uitzonderingsobject
$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."
Met deze opdracht wordt een uitzonderingsobject gebruikt om een niet-afsluitfout te declareren.
De eerste opdracht maakt gebruik van een hash-tabel om het object System.Exception te maken. Het uitzonderingsobject wordt opgeslagen in de $E variabele. U kunt een hash-tabel gebruiken om elk object van een type met een null-constructor te maken.
De tweede opdracht gebruikt de Write-Error cmdlet om een niet-afsluitfout te declareren. De waarde van de uitzonderingsparameter is het uitzonderingsobject in de $E variabele.
Parameters
Hiermee geeft u de categorie van de fout. De standaardwaarde is NotSpecified. De aanvaardbare waarden voor deze parameter zijn:
- Niet opgegeven
- OpenError
- CloseError
- DeviceError
- DeadlockDetected
- InvalidArgument
- InvalidData
- InvalidOperation
- InvalidResult
- InvalidType
- MetadataError
- Niet geïmplementeerd
- Niet geïnstalleerd
- ObjectNotFound
- OperationStopped
- OperationTimeout
- SyntaxIsfout
- ParserError
- PermissionDenied
- ResourceBusy
- ResourceExists
- ResourceUnavailable
- ReadError
- WriteError
- FromStdErr
- SecurityError
- ProtocolError
- ConnectionError
- AuthenticationError
- LimitsExceeded
- QuotaExceeded
- NotEnabled
Zie De opsomming ErrorCategory voor meer informatie over de foutcategorieën.
| Type: | ErrorCategory |
| Accepted values: | 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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de actie op die de fout heeft veroorzaakt.
| Type: | String |
| Aliases: | Activity |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u op hoe of waarom de activiteit de fout heeft veroorzaakt.
| Type: | String |
| Aliases: | Reason |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de naam op van het object dat werd verwerkt toen de fout optrad.
| Type: | String |
| Aliases: | TargetName |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u het type van het object dat werd verwerkt toen de fout optrad.
| Type: | String |
| Aliases: | TargetType |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een id-tekenreeks op om de fout te identificeren. De tekenreeks moet uniek zijn voor de fout.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een foutrecordobject op dat de fout vertegenwoordigt. Gebruik de eigenschappen van het object om de fout te beschrijven.
Als u een foutrecordobject wilt maken, gebruikt u de New-Object cmdlet of haalt u een foutrecordobject op uit de matrix in de $Error automatische variabele.
| Type: | ErrorRecord |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u een uitzonderingsobject op dat de fout vertegenwoordigt. Gebruik de eigenschappen van het object om de fout te beschrijven.
Als u een uitzonderingsobject wilt maken, gebruikt u een hash-tabel of gebruikt u de New-Object cmdlet.
| Type: | Exception |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u de berichttekst van de fout. Als de tekst spaties of speciale tekens bevat, plaatst u deze tussen aanhalingstekens. U kunt ook een berichttekenreeks doorsturen naar Write-Error.
| Type: | String |
| Aliases: | Msg |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Hiermee geeft u de actie op die de gebruiker moet ondernemen om de fout op te lossen of te voorkomen.
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee geeft u het object op dat werd verwerkt toen de fout optrad. Voer het object, een variabele in die het object bevat of een opdracht waarmee het object wordt opgehaald.
| Type: | Object |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
U kunt een tekenreeks die een foutbericht bevat doorsturen naar Write-Error.
Uitvoerwaarden
Error object
Write-Error schrijft alleen naar de foutstroom. Er worden geen objecten geretourneerd.
Notities
Write-Error wijzigt de waarde van de $? automatische variabele niet, daarom wordt er geen afsluitfoutvoorwaarde afgegeven. Als u een afsluitfout wilt signaleren, gebruikt u de methode $PSCmdlet.WriteError().
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor