Om dit op te lossen, zoekt u naar onjuiste syntaxis
- Als Try-Catch niet werkt op PowerShell, moet u controleren op onjuiste syntaxis en foutactiewaarden.
- In deze handleiding worden de verschillende manieren uitgelegd om het probleem op te lossen.
XINSTALLEREN DOOR OP HET DOWNLOADBESTAND TE KLIKKEN
- Restoro pc-reparatieprogramma downloaden dat wordt geleverd met gepatenteerde technologieën (octrooi aanwezig hier).
- Klik Start scan om Windows-problemen te vinden die pc-problemen kunnen veroorzaken.
- Klik Alles herstellen om problemen op te lossen die van invloed zijn op de beveiliging en prestaties van uw computer.
- Restoro is gedownload door 0 lezers deze maand.
De Try-Catch-instructie in
PowerShell behandelt fouten en uitzonderingen in uw code. Als Try-Catch niet werkt zoals uitgezonderd op PowerShell, kan dit frustrerend zijn.In deze handleiding behandelen we alle manieren om het probleem op te lossen, samen met de waarschijnlijke oorzaken van het probleem. Laten we beginnen!
Wat veroorzaakt het probleem dat Try-Catch niet werkt in PowerShell?
Er kunnen verschillende redenen zijn waarom de verklaring niet werkt op PowerShell. Hier zijn enkele van de meest voorkomende:
- Standaard ErrorAction ingesteld – Als de ErrorAction is ingesteld op Doorgaan, dan zal Try-Catch niet werken zoals verwacht.
- Syntaxisfouten – Als de gebruikte syntaxis onjuist is, de opmaak onjuist is of trefwoorden ontbreken, werkt Try-Catch niet.
- Cmdlet- of functiegedrag – Sommige functies en cmdlets hebben hun foutafhandelingsgedrag, dat mogelijk niet compatibel is met Try-Catch.
- Onjuiste logica of gebruik van variabelen – Bij oneigenlijk gebruik van variabelen of onjuiste logica, dan zal Try-Catch niet werken.
Wat kan ik doen als de Try-Catch niet werkt op PowerShell?
1. Controleer de syntaxis
- Eerst moet u controleren of u de juiste syntaxis hebt gebruikt voor de versie van PowerShell die u gebruikt.
- Controleer vervolgens of je de Try and Catch-blokken in de juiste volgorde hebt geplaatst.
- De basissyntaxis voor Try-Catch wordt hieronder vermeld. Vervang # code die hier moet worden uitgevoerd door de code en # foutafhandelingscode hier door de foutafhandelingscode:
Poging {
# code om hier uit te voeren
}
Vangst {
# foutafhandelingscode hier
}
2. Controleer of u een specifieke fout vastlegt
U moet controleren of u specifieke fouten opvangt die u wilt afhandelen en niet alle fouten. Volg deze stappen om hetzelfde te doen:
- druk de
ramen
sleutel type PowerShell, en klik Als administrator uitvoeren. - Om een fout op te vangen, moet u de $ variabele in het blok Catch om toegang te krijgen tot informatie over de opgetreden fout. Laten we het voorbeeld van hetzelfde bekijken om het beter te begrijpen:
Poging {
Get-ChildItem -Path C:\DoesNotExist
}
Vangst {
als ($_.Uitzondering. GetType().Naam -eq "DirectoryNotFoundException") {
Schrijf-uitvoer "Directory niet gevonden."
}
anders {
gooi $_.Exception|
}
}
3. Stel de ErrorAction-waarde in
De standaardwaarde voor ErrorAction is Doorgaan; Om Try-Catch echter te laten werken, moet u de ErrorAction-waarde instellen op Stop. Volg hiervoor deze stappen:
- Open PowerShell als beheerder.
- U moet de cmdlet Set-StrictMode of de parameter ErrorAction gebruiken voor afzonderlijke cmdlets. Om het beter te begrijpen, laten we een voorbeeld bekijken:
Poging {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Vangst {
Schrijf-uitvoer $_.Uitzondering. Bericht
}
- Hier leest u hoe u uw BitLocker-sleutel van OneDrive kunt herstellen
- Hoe Phone Link voor iPhone te gebruiken op Windows 11
- DaVinci lost een hoog CPU-gebruik op: hoe dit te verminderen
4. Gebruik het juiste uitzonderingstype
Het is belangrijk om de juiste uitzonderingen te gebruiken bij het gebruik van Try-Catch, omdat het alleen uitzonderingen van het systeem aankan. Uitzonderingstype. Als u niet-System. Uitzonderingsfouten, dan zal Try-Catch niet werken.
Wat betreft niet-systeem. Uitzondering, u moet het foutafhandelingsmechanisme van het NET-framework gebruiken of de fout opvangen.
5. Vermijd scriptbeëindiging
Als uw script wordt beëindigd voordat het Catch-blok is bereikt, krijgt Try-Cach geen kans om de fout op te lossen. Volg deze stappen om beëindiging van het script te voorkomen:
- Launch PowerShell met beheerdersrechten.
- Je moet de Doorgaan verklaring na de Vangst blok. Laten we het begrijpen aan de hand van een voorbeeld:
Poging {
Get-ChildItem -Path C:\DoesNotExist
}
Vangst {
Schrijf-uitvoer $_.Uitzondering. Bericht
Doorgaan
}
6. Gebruik de Try-Catch-Eindelijk
Als de Try-Catch-instructie nog steeds niet werkt, kunt u in plaats daarvan de Try-Catch-Finally-constructie gebruiken. Dit zorgt ervoor dat uw code volledig wordt uitgevoerd, zelfs als er een uitzondering wordt gemaakt.
- Open PowerShell als beheerder.
- Typ de opdracht met Probeer-vang-eindelijk. Hier is een voorbeeld om het script beter te begrijpen:
Poging {
# Je code hier
}
Vang [Systeem. Uitzondering] {
# Uitzonderingscode hier
}
Eindelijk {
# Opschooncode hier
}
Dit zijn dus manieren waarop u het probleem Try Catch werkt niet op PowerShell kunt oplossen. Als u vragen heeft over Try-Catch, vermeld deze dan in de opmerkingen hieronder. Wij helpen u graag verder!
Als u wilt weten hoe u kunt voorkomen dat PowerShell wordt afgesloten na het uitvoeren van een script, je kunt dit lezen.
Nog steeds problemen? Repareer ze met deze tool:
GESPONSORD
Als de bovenstaande adviezen uw probleem niet hebben opgelost, kan uw pc diepere Windows-problemen ondervinden. Wij adviseren het downloaden van deze pc-reparatietool (beoordeeld als Geweldig op TrustPilot.com) om ze gemakkelijk aan te pakken. Na de installatie klikt u eenvoudig op de Start scan knop en druk vervolgens op Alles herstellen.