PowerShell:
Debug-output afdrukken

Hoe:

Laten we het simpel houden en daadwerkelijk iets doen. We laten de waarde van een variabele zien, hoe een lus vordert, en vangen de lastige fout op die kan verschijnen.

# De waarde van een variabele tonen
$name = "PowerShell Guru"
Write-Host "De waarde van naam is: $name"

# De voortgang van een lus monitoren
for ($i = 0; $i -lt 5; $i++) {
    Write-Host "We zijn bij lus nummer: $i"
}

# Een fout opvangen en afdrukken
try {
    Get-Item "C:\NonExistent\File.txt" -ErrorAction Stop
} catch {
    Write-Host "Oeps: $_"
}

Voorbeelduitvoer:

De waarde van naam is: PowerShell Guru
We zijn bij lus nummer: 0
We zijn bij lus nummer: 1
We zijn bij lus nummer: 2
We zijn bij lus nummer: 3
We zijn bij lus nummer: 4
Oeps: Kan pad 'C:\NonExistent\File.txt' niet vinden omdat het niet bestaat.

Diepere Duik

Terug in de oude dagen van het computergebruik betekende debuggen vaak letterlijke fysieke insecten die met de hardware knoeiden. We zijn sindsdien een lange weg gekomen, waarbij nu de term “bug” wordt gebruikt voor codeproblemen, en “debugging” voor het oplossen ervan.

De Write-Host cmdlet is de PowerShell vriend voor het afdrukken op het scherm, wat prima is voor basis scripts. Maar er zijn coolere manieren om dit te doen: Write-Verbose, Write-Debug, Write-Output, en Write-Information zijn als verschillende smaken van output voor diverse gebruikssituaties. Ze bieden je gecontroleerde spraakzaamheid, wat geweldig is als je je script moet dempen of dingen moet loggen zonder de console te spammen.

Wat implementatie betreft, is de foutafhandeling van PowerShell bijzonder chique. Je kunt verschillende soorten uitzonderingen vangen met try, catch, finally blokken en beslissen hoe te reageren. Het is als een kies-je-eigen-avontuur voor foutenbeheer.

Zie Ook