Jak naprawić Try Catch PowerShell nie działa?

Aby to naprawić, poszukaj nieprawidłowej składni

  • Jeśli Try-Catch nie działa w programie PowerShell, należy sprawdzić niepoprawną składnię i wartości akcji błędów.
  • W tym przewodniku wyjaśniono różne sposoby rozwiązania problemu.
Spróbuj złapać powershell nie działa

XZAINSTALUJ KLIKAJĄC POBIERZ PLIK

Aby rozwiązać różne problemy z komputerem, zalecamy narzędzie Restoro PC Repair Tool:To oprogramowanie naprawi typowe błędy komputera, ochroni Cię przed utratą plików, złośliwym oprogramowaniem, awariami sprzętu i zoptymalizuje komputer pod kątem maksymalnej wydajności. Napraw problemy z komputerem i usuń wirusy teraz w 3 prostych krokach:
  1. Pobierz narzędzie do naprawy komputera Restoro który jest dostarczany z opatentowanymi technologiami (dostępny patent Tutaj).
  2. Kliknij Rozpocznij skanowanie znaleźć problemy z systemem Windows, które mogą powodować problemy z komputerem.
  3. Kliknij Naprawić wszystko w celu rozwiązania problemów wpływających na bezpieczeństwo i wydajność komputera.
  • Restoro zostało pobrane przez 0 czytelników w tym miesiącu.

Instrukcja Try-Catch w PowerShell obsługuje błędy i wyjątki w twoim kodzie. Jeśli funkcja Try-Catch nie działa zgodnie z wyjątkami w programie PowerShell, może to być frustrujące.

W tym przewodniku omówimy wszystkie sposoby rozwiązania problemu wraz z prawdopodobnymi przyczynami problemu. Zaczynajmy!

Co powoduje, że Try-Catch nie działa w PowerShell?

Mogą istnieć różne powody, dla których instrukcja nie działa w programie PowerShell. Oto niektóre z najczęstszych:

  • Domyślny zestaw ErrorAction – Jeśli ErrorAction jest ustawiona na Kontynuuj, to Try-Catch nie będzie działać zgodnie z oczekiwaniami.
  • Błędy składniowe – Jeśli użyta składnia jest niewłaściwa, formatowanie jest nieprawidłowe lub brakuje słów kluczowych, Try-Catch nie będzie działać.
  • Zachowanie polecenia cmdlet lub funkcji – Niektóre funkcje i polecenia cmdlet mają swoje zachowanie związane z obsługą błędów, które może nie być zgodne z Try-Catch.
  • Niepoprawna logika lub użycie zmiennych – W przypadku niewłaściwego użycia zmienne lub nieprawidłowa logika, wówczas Try-Catch nie będzie działać.

Co mogę zrobić, jeśli Try-Catch nie działa w PowerShell?

1. Sprawdź składnię

  1. Najpierw musisz sprawdzić, czy użyłeś poprawnej składni dla używanej wersji PowerShell.
  2. Następnie sprawdź, czy umieściłeś bloki Try i Catch we właściwej kolejności.
  3. Poniżej wymieniono podstawową składnię Try-Catch. Zastąp # kod do uruchomienia tutaj kodem i # kod obsługi błędów tutaj kodem obsługi błędów:

Próbować {
# kod do uruchomienia tutaj
}
Złapać {
# kod obsługi błędów tutaj
}

2. Sprawdź, czy przechwytujesz określony błąd 

Musisz sprawdzić, czy przechwytujesz określone błędy, które chcesz obsłużyć, a nie wszystkie błędy. Wykonaj następujące kroki, aby zrobić to samo:

  1. wciśnij Okna typ klucza PowerShell, i kliknij Uruchom jako administrator.Scenariusz
  2. Aby przechwycić błąd, musisz użyć metody $ zmiennej w bloku Catch, aby uzyskać dostęp do informacji o zgłoszonym błędzie. Sprawdźmy ten sam przykład, aby lepiej zrozumieć: Próbować {
    Get-ChildItem -Ścieżka C:\DoesNotExist
    }
    Złapać {
    if ($_.Wyjątek. GetType().Name -eq "DirectoryNotFoundException") {
    Wyjście zapisu „Nie znaleziono katalogu”.
    }
    w przeciwnym razie {
    wyrzuć $_.Wyjątek|
    }
    }

3. Ustaw wartość ErrorAction 

Wartość domyślna ErrorAction to Kontynuuj; jednak, aby Try-Catch działał, należy ustawić wartość ErrorAction na Stop. Aby to zrobić, wykonaj następujące kroki:

  1. otwarty PowerShell jako administrator.
  2. Musisz użyć polecenia cmdlet Set-StrictMode lub parametru ErrorAction w poszczególnych poleceniach cmdlet. Aby lepiej to zrozumieć, spójrzmy na przykład:
Spróbuj złapać z ErrorAction Zatrzymaj PowerShell

Próbować {
Get-ChildItem -Ścieżka C:\DoesNotExist -ErrorAction Stop
}
Złapać {
Wyjście zapisu $_.Wyjątek. Wiadomość
}

Przeczytaj więcej na ten temat
  • Oto jak odzyskać klucz BitLocker z OneDrive
  • Jak korzystać z Phone Link dla iPhone'a w systemie Windows 11
  • DaVinci Resolve Wysokie użycie procesora: jak je zmniejszyć

4. Użyj poprawnego typu wyjątku

Ważne jest, aby używać poprawnych wyjątków podczas korzystania z Try-Catch, ponieważ może on obsługiwać tylko wyjątki System. Typ wyjątku. Jeśli korzystałeś z non-System. Błędy wyjątków, a następnie Try-Catch nie będzie działać.

Co do braku systemu. Wyjątek, musisz użyć mechanizmu obsługi błędów frameworka NET lub złapać błąd.

5. Unikaj zakończenia skryptu 

Jeśli twój skrypt zostanie zakończony przed osiągnięciem bloku Catch, Try-Cach nie będzie miał szansy obsłużyć błędu. Aby uniknąć zakończenia skryptu, wykonaj następujące kroki:

  1. Początek PowerShell z uprawnieniami administratora.
  2. Musisz użyć tzw Kontynuować oświadczenie po Złapać blok. Zrozummy to na przykładzie:
spróbuj w końcu złapać

Próbować {
Get-ChildItem -Ścieżka C:\DoesNotExist
}
Złapać {
Wyjście zapisu $_.Wyjątek. Wiadomość
Kontynuować
}

6. Użyj Try-Catch-Wreszcie

 Jeśli instrukcja Try-Catch nadal nie działa, możesz zamiast tego użyć konstrukcji Try-Catch-Finally. Gwarantuje to, że kod zostanie wykonany do końca, nawet jeśli zostanie zgłoszony wyjątek.

  1. otwarty PowerShell jako administrator.
  2. Wpisz polecenie za pomocą Spróbuj-złap-wreszcie. Oto przykład, aby lepiej zrozumieć skrypt:

Próbować {
# Twój kod tutaj

Złap [System. Wyjątek] {
# Kod obsługi wyjątków tutaj

Wreszcie {
 # Kod czyszczenia tutaj
}

Oto sposoby rozwiązania problemu z niedziałającym Try Catch w PowerShell. Jeśli masz jakieś pytania dotyczące Try-Catch, zadaj je w sekcji komentarzy poniżej. Chętnie pomożemy!

Jeśli chcesz wiedzieć, jak zatrzymać zamykanie programu PowerShell po uruchomieniu skryptu, możesz to przeczytać.

Nadal masz problemy? Napraw je za pomocą tego narzędzia:

SPONSOROWANE

Jeśli powyższe porady nie rozwiązały problemu, na komputerze mogą wystąpić głębsze problemy z systemem Windows. Polecamy pobierając to narzędzie do naprawy komputera (ocenione jako „Świetne” na TrustPilot.com), aby łatwo sobie z nimi poradzić. Po instalacji wystarczy kliknąć Rozpocznij skanowanie przycisk, a następnie naciśnij Naprawić wszystko.

NAPRAW: Skrypty uruchomione przez PowerShell są wyłączone w tym systemie

NAPRAW: Skrypty uruchomione przez PowerShell są wyłączone w tym systemiePowershellOkna 10

Aby naprawić różne problemy z komputerem, zalecamy DriverFix:To oprogramowanie sprawi, że Twoje sterowniki będą działały, dzięki czemu będziesz chroniony przed typowymi błędami komputera i awariami...

Czytaj więcej
Jak usunąć wbudowane aplikacje z Windows 10 WIM-File za pomocą Powershell?

Jak usunąć wbudowane aplikacje z Windows 10 WIM-File za pomocą Powershell?Powershell

PowerShell to bardzo potężne narzędzie systemu Windows, które umożliwia zaawansowanym użytkownikom wykonywanie szeregu zaawansowanych zadań. PowerShell to platforma do automatyzacji zadań i zarządz...

Czytaj więcej
Microsoft PowerShell 7 pojawi się na wszystkich platformach w maju

Microsoft PowerShell 7 pojawi się na wszystkich platformach w majuPowershellNowości W Systemie Windows 10

Microsoft ogłosił niedawno, że ogólna dostępność availability nowa wersja PowerShell. Nowa wersja przenosi istniejącą wersję do programu Windows PowerShell 7.0.Ogłoszenie pojawiło się zaraz po wyda...

Czytaj więcej