Για να διορθώσετε αυτό, αναζητήστε λανθασμένη σύνταξη
- Εάν το Try-Catch δεν λειτουργεί στο PowerShell, πρέπει να ελέγξετε για εσφαλμένες τιμές σύνταξης και ενεργειών σφάλματος.
- Αυτός ο οδηγός θα εξηγήσει τους διαφορετικούς τρόπους επίλυσης του προβλήματος.
ΧΕΓΚΑΤΑΣΤΑΣΗ ΚΑΝΟΝΤΑΣ ΚΛΙΚ ΣΤΟ ΑΡΧΕΙΟ ΛΗΨΗΣ
- Κατεβάστε το Restoro PC Repair Tool που συνοδεύεται από πατενταρισμένες τεχνολογίες (διαθέσιμο δίπλωμα ευρεσιτεχνίας εδώ).
- Κάντε κλικ Εναρξη σάρωσης για να βρείτε ζητήματα των Windows που θα μπορούσαν να προκαλούν προβλήματα στον υπολογιστή.
- Κάντε κλικ Φτιάξ'τα όλα για να διορθώσετε ζητήματα που επηρεάζουν την ασφάλεια και την απόδοση του υπολογιστή σας.
- Το Restoro έχει ληφθεί από 0 αναγνώστες αυτόν τον μήνα.
Η δήλωση Try-Catch στο PowerShell χειρίζεται σφάλματα και εξαιρέσεις στον κώδικά σας. Εάν το Try-Catch δεν λειτουργεί όπως εξαιρείται στο PowerShell, μπορεί να είναι απογοητευτικό.
Σε αυτόν τον οδηγό, θα καλύψουμε όλους τους τρόπους επίλυσης του προβλήματος μαζί με τις πιθανές αιτίες του προβλήματος. Ας αρχίσουμε!
Τι προκαλεί το πρόβλημα Try-Catch που δεν λειτουργεί στο PowerShell;
Μπορεί να υπάρχουν διάφοροι λόγοι για τους οποίους η δήλωση δεν λειτουργεί στο PowerShell. Εδώ είναι μερικά από τα πιο συνηθισμένα:
- Προεπιλεγμένο σύνολο ErrorAction – Αν το Το ErrorAction έχει οριστεί σε Continue, τότε το Try-Catch δεν θα λειτουργήσει όπως αναμένεται.
- Συντακτικά λάθη – Εάν η σύνταξη που χρησιμοποιείται είναι ακατάλληλη, η μορφοποίηση είναι εσφαλμένη ή λείπουν λέξεις-κλειδιά, το Try-Catch δεν θα λειτουργήσει.
- Cmdlet ή συμπεριφορά συνάρτησης – Ορισμένες λειτουργίες και cmdlet συνοδεύονται από τη συμπεριφορά χειρισμού σφαλμάτων, η οποία μπορεί να μην είναι συμβατή με το Try-Catch.
- Λανθασμένη λογική ή χρήση μεταβλητών – Εάν υπάρχει ακατάλληλη χρήση του μεταβλητές ή εσφαλμένη λογική, τότε το Try-Catch δεν θα λειτουργήσει.
Τι μπορώ να κάνω εάν το Try-Catch δεν λειτουργεί στο PowerShell;
1. Ελέγξτε τη Σύνταξη
- Αρχικά, πρέπει να ελέγξετε αν έχετε χρησιμοποιήσει τη σωστή σύνταξη για την έκδοση του PowerShell που χρησιμοποιείτε.
- Στη συνέχεια, βεβαιωθείτε ότι έχετε τοποθετήσει τα μπλοκ Try and Catch με τη σωστή σειρά.
- Η βασική σύνταξη για το Try-Catch αναφέρεται παρακάτω. Αντικαταστήστε τον # κωδικό για να εκτελεστεί εδώ με τον κωδικό και # κωδικός χειρισμού σφαλμάτων εδώ με τον κωδικό χειρισμού σφαλμάτων:
Δοκιμάστε {
# κωδικός για εκτέλεση εδώ
}
Σύλληψη {
# σφάλμα χειρισμού κώδικα εδώ
}
2. Ελέγξτε εάν παγιδεύετε ένα συγκεκριμένο σφάλμα
Πρέπει να επαληθεύσετε εάν παγιδεύετε συγκεκριμένα σφάλματα που θέλετε να χειριστείτε και όχι όλα τα σφάλματα. Ακολουθήστε αυτά τα βήματα για να κάνετε το ίδιο:
- Πάτα το
Windows
κλειδί, τύπος PowerShell, και κάντε κλικ Εκτελέστε ως διαχειριστής. - Για να παγιδεύσετε ένα σφάλμα, πρέπει να χρησιμοποιήσετε το $ μεταβλητή στο μπλοκ Catch για πρόσβαση σε πληροφορίες σχετικά με το σφάλμα που παρουσιάστηκε. Ας δούμε το παράδειγμα του ίδιου για να καταλάβουμε καλύτερα:
Δοκιμάστε {
Get-ChildItem -Διαδρομή C:\DoesNotExist
}
Σύλληψη {
εάν ($_.Εξαίρεση. GetType().Name -eq "DirectoryNotFoundException") {
Εγγραφή-Έξοδος "Ο κατάλογος δεν βρέθηκε."
}
άλλο {
ρίξει $_.Εξαίρεση|
}
}
3. Ορίστε την τιμή ErrorAction
Η προεπιλεγμένη τιμή για το ErrorAction είναι Continue. Ωστόσο, για να λειτουργήσει το Try-Catch, πρέπει να ορίσετε την τιμή ErrorAction σε Stop. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
- Ανοιξε PowerShell ως διαχειριστής.
- Πρέπει να χρησιμοποιήσετε το cmdlet Set-StrictMode ή την παράμετρο ErrorAction σε μεμονωμένα cmdlet. Για να το καταλάβουμε καλύτερα, ας δούμε ένα παράδειγμα:
Δοκιμάστε {
Get-ChildItem -Διαδρομή C:\DoesNotExist -ErrorAction Stop
}
Σύλληψη {
Write-Output $_.Exception. Μήνυμα
}
- Δείτε πώς μπορείτε να ανακτήσετε το κλειδί BitLocker από το OneDrive
- Πώς να χρησιμοποιήσετε το Phone Link για iPhone στα Windows 11
- DaVinci Resolve High CPU Usage: Πώς να τη μειώσετε
4. Χρησιμοποιήστε τον σωστό τύπο εξαίρεσης
Είναι σημαντικό να χρησιμοποιείτε σωστές εξαιρέσεις όταν χρησιμοποιείτε το Try-Catch, καθώς μπορεί να χειριστεί μόνο εξαιρέσεις του συστήματος. Τύπος εξαίρεσης. Εάν έχετε χρησιμοποιήσει non-System. Σφάλματα εξαίρεσης, τότε το Try-Catch δεν θα λειτουργήσει.
Όσο για το μη Σύστημα. Εξαίρεση, πρέπει να χρησιμοποιήσετε τον μηχανισμό διαχείρισης σφαλμάτων του πλαισίου NET ή να εντοπίσετε το σφάλμα.
5. Αποφύγετε τον τερματισμό του σεναρίου
Εάν το σενάριό σας τερματιστεί πριν φτάσετε στο μπλοκ Catch, το Try-Cach δεν θα έχει την ευκαιρία να χειριστεί το σφάλμα. Για να αποφύγετε τον τερματισμό του σεναρίου, ακολουθήστε τα εξής βήματα:
- Εκτόξευση PowerShell με δικαιώματα διαχειριστή.
- Πρέπει να χρησιμοποιήσετε το Να συνεχίσει δήλωση μετά την Σύλληψη ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ. Ας το καταλάβουμε με ένα παράδειγμα:
Δοκιμάστε {
Get-ChildItem -Διαδρομή C:\DoesNotExist
}
Σύλληψη {
Write-Output $_.Exception. Μήνυμα
Να συνεχίσει
}
6. Χρησιμοποιήστε το Try-Catch-Finally
Εάν η πρόταση Try-Catch εξακολουθεί να μην λειτουργεί, μπορείτε να χρησιμοποιήσετε την κατασκευή Try-Catch-Finally. Αυτό διασφαλίζει ότι ο κώδικάς σας θα εκτελείται μέχρι την ολοκλήρωση, ακόμη και αν υπάρχει εξαίρεση.
- Ανοιξε PowerShell ως διαχειριστής.
- Πληκτρολογήστε την εντολή με Δοκιμάστε-Πιάστε-Τέλος. Ακολουθεί ένα παράδειγμα για να κατανοήσετε καλύτερα το σενάριο:
Δοκιμάστε {
# Ο κωδικός σας εδώ
}
Catch [Σύστημα. Εξαίρεση] {
# Κωδικός χειρισμού εξαίρεσης εδώ
}
Τελικά {
# Κωδικός καθαρισμού εδώ
}
Έτσι, αυτοί είναι τρόποι με τους οποίους μπορείτε να επιλύσετε το ζήτημα που δεν λειτουργεί το Try Catch στο PowerShell. Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το Try-Catch, αναφέρετέ τις στην παρακάτω ενότητα σχολίων. Θα χαρούμε να βοηθήσουμε!
Εάν θέλετε να μάθετε πώς να σταματήσετε το κλείσιμο του PowerShell μετά την εκτέλεση ενός σεναρίου, μπορείτε να το διαβάσετε αυτό.
Έχετε ακόμα προβλήματα; Διορθώστε τα με αυτό το εργαλείο:
ΕΥΓΕΝΙΚΗ ΧΟΡΗΓΙΑ
Εάν οι παραπάνω συμβουλές δεν έχουν λύσει το πρόβλημά σας, ο υπολογιστής σας ενδέχεται να αντιμετωπίσει βαθύτερα προβλήματα με τα Windows. Συνιστούμε λήψη αυτού του εργαλείου επισκευής υπολογιστή (αξιολογήθηκε Εξαιρετικά στο TrustPilot.com) για να τους αντιμετωπίσετε εύκολα. Μετά την εγκατάσταση, απλώς κάντε κλικ στο Εναρξη σάρωσης κουμπί και μετά πατήστε το Φτιάξ'τα όλα.