Write-Error
Hiermee wordt een object naar de foutstroom geschreven.
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 in de foutenstroom verzonden naar het hostprogramma dat moet worden weergegeven, samen met de uitvoer.
Als u een niet-afsluitfout wilt schrijven, voert u een foutberichttekenreeks, een ErrorRecord-object of een uitzonderingsobject in. Gebruik de andere parameters van Write-Error
om de foutrecord in te vullen.
Niet-afsluitfouten schrijven een fout naar de foutstroom, maar ze 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.
Gebruik het Throw
trefwoord om een afsluitfout te declareren.
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 STATIONS HKLM: of HKCU: van de PowerShell Registry-provider.
Voorbeeld 2: een foutbericht naar de console schrijven
Write-Error "Access denied."
Deze opdracht declareert een niet-afsluitfout en schrijft een fout 'Toegang geweigerd'. De opdracht gebruikt de parameter Bericht om het bericht op te geven, maar laat de optionele naam van de berichtparameter weg.
Voorbeeld 3: Een fout naar de console schrijven en de categorie opgeven
Write-Error -Message "Error: Too many input values." -Category InvalidArgument
Deze opdracht declareert een niet-afsluitfout en geeft een foutcategorie op.
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 hashtabel gebruiken om een object van een type te maken dat een null-constructor heeft.
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
-Category
Hiermee geeft u de categorie van de fout op. 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
- SyntaxError
- ParserError
- Machtiging geweigerd
- ResourceBusy
- ResourceExists
- ResourceUnavailable
- ReadError
- WriteError
- FromStdErr
- SecurityError
- ProtocolError
- ConnectionError
- AuthenticationError
- LimietenExceeded
- QuotaExceeded
- NotEnabled
Zie 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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CategoryActivity
Hiermee geeft u de actie op die de fout heeft veroorzaakt.
Type: | String |
Aliases: | Activity |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CategoryReason
Hiermee geeft u op hoe of waarom de activiteit de fout heeft veroorzaakt.
Type: | String |
Aliases: | Reason |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CategoryTargetName
Hiermee geeft u de naam van het object dat werd verwerkt toen de fout optrad.
Type: | String |
Aliases: | TargetName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CategoryTargetType
Hiermee geeft u het type van het object dat werd verwerkt toen de fout optrad.
Type: | String |
Aliases: | TargetType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ErrorId
Hiermee geeft u een id-tekenreeks om de fout te identificeren. De tekenreeks moet uniek zijn voor de fout.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ErrorRecord
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: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exception
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: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Message
Hiermee geeft u de berichttekst van de fout op. 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 |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-RecommendedAction
Hiermee geeft u de actie op die de gebruiker moet uitvoeren om de fout op te lossen of te voorkomen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TargetObject
Hiermee geeft u het object op dat werd verwerkt toen de fout optrad. Voer het object in, een variabele die het object bevat of een opdracht waarmee het object wordt opgehaald.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt een tekenreeks met een foutbericht doorsturen naar Write-Error
.
Uitvoerwaarden
Error object
Write-Error
schrijft alleen naar de foutstroom. Er worden geen objecten geretourneerd.