Untuk memperbaikinya, cari sintaks yang salah
- Jika Try-Catch tidak berfungsi di PowerShell, Anda harus memeriksa sintaks dan nilai tindakan kesalahan yang salah.
- Panduan ini akan menjelaskan berbagai cara untuk mengatasi masalah tersebut.

XINSTALL DENGAN MENGKLIK FILE DOWNLOAD
- Unduh Alat Perbaikan PC Restoro yang dilengkapi dengan Teknologi yang Dipatenkan (paten tersedia Di Sini).
- Klik Mulai Pindai untuk menemukan masalah Windows yang dapat menyebabkan masalah PC.
- Klik Perbaiki Semua untuk memperbaiki masalah yang memengaruhi keamanan dan kinerja komputer Anda.
- Restoro telah diunduh oleh 0 pembaca bulan ini.
Pernyataan Try-Catch di PowerShell menangani kesalahan dan pengecualian dalam kode Anda. Jika Try-Catch tidak berfungsi seperti yang dikecualikan di PowerShell, ini bisa membuat frustasi.
Dalam panduan ini, kami akan membahas semua cara untuk memperbaiki masalah beserta kemungkinan penyebab masalahnya. Ayo mulai!
Apa yang menyebabkan masalah Try-Catch tidak berfungsi di PowerShell?
Mungkin ada berbagai alasan mengapa pernyataan tersebut tidak berfungsi di PowerShell. Berikut adalah beberapa yang paling umum:
- Kumpulan ErrorAction bawaan – Jika ErrorAction diatur ke Lanjutkan, maka Try-Catch tidak akan berfungsi seperti yang diharapkan.
- Kesalahan sintaks – Jika sintaks yang digunakan tidak tepat, formatnya salah, atau ada kata kunci yang hilang, Try-Catch tidak akan berfungsi.
- Cmdlet atau perilaku fungsi – Beberapa fungsi dan cmdlet hadir dengan perilaku penanganan kesalahannya, yang mungkin tidak kompatibel dengan Try-Catch.
- Logika yang salah atau penggunaan variabel – Jika ada penggunaan yang tidak tepat dari variabel atau logika salah, maka Try-Catch tidak akan berfungsi.
Apa yang dapat saya lakukan jika Try-Catch tidak berfungsi di PowerShell?
1. Periksa Sintaks
- Pertama, Anda perlu memeriksa apakah Anda telah menggunakan sintaks yang benar untuk versi PowerShell yang Anda gunakan.
- Selanjutnya, pastikan Anda telah menempatkan blok Coba dan Tangkap dalam urutan yang benar.
- Sintaks dasar untuk Try-Catch disebutkan di bawah ini. Ganti # kode untuk dijalankan di sini dengan kode dan # kode penanganan kesalahan di sini dengan kode penanganan kesalahan:

Mencoba {
# kode untuk dijalankan di sini
}
Menangkap {
# kode penanganan kesalahan di sini
}
2. Periksa apakah Anda menjebak kesalahan tertentu
Anda perlu memverifikasi apakah Anda menjebak kesalahan tertentu yang ingin Anda tangani dan tidak semua kesalahan. Ikuti langkah-langkah ini untuk melakukan hal yang sama:
- tekan
Windows
kunci, ketik PowerShell, dan klik Jalankan sebagai administrator. - Untuk menjebak kesalahan, Anda perlu menggunakan $ variabel di blok Catch untuk mengakses informasi tentang kesalahan yang dilemparkan. Mari kita periksa contoh yang sama untuk memahami lebih baik:
Mencoba {
Get-ChildItem -Path C:\DoesNotExist
}
Menangkap {
jika ($_.Exception. GetType().Name -eq "DirectoryNotFoundException") {
Tulis-Output "Direktori tidak ditemukan."
}
kalau tidak {
lempar $_.Exception|
}
}
3. Tetapkan nilai ErrorAction
Nilai default untuk ErrorAction adalah Lanjutkan; namun, agar Try-Catch berfungsi, Anda perlu menyetel nilai ErrorAction ke Stop. Untuk melakukannya, ikuti langkah-langkah berikut:
- Membuka PowerShell sebagai administrator.
- Anda perlu menggunakan cmdlet Set-StrictMode atau parameter ErrorAction pada masing-masing cmdlet. Untuk memahaminya dengan lebih baik, mari kita lihat sebuah contoh:

Mencoba {
Get-ChildItem -Path C:\DoesNotExist -ErrorAction Stop
}
Menangkap {
Tulis-Output $_.Exception. Pesan
}
- Berikut cara memulihkan kunci BitLocker Anda dari OneDrive
- Cara menggunakan Phone Link untuk iPhone di Windows 11
- DaVinci Resolve High CPU Usage: Cara Menguranginya
4. Gunakan jenis pengecualian yang benar

Penting untuk menggunakan pengecualian yang benar saat menggunakan Try-Catch, karena ini hanya dapat menangani pengecualian Sistem. Jenis pengecualian. Jika Anda telah menggunakan non-System. Kesalahan pengecualian, maka Try-Catch tidak akan berfungsi.
Adapun non-Sistem. Pengecualian, Anda perlu menggunakan mekanisme penanganan kesalahan kerangka kerja NET atau menangkap kesalahan.
5. Hindari penghentian skrip
Jika skrip Anda dihentikan sebelum mencapai blok Tangkap, Try-Cach tidak akan mendapat kesempatan untuk menangani kesalahan. Untuk menghindari penghentian skrip, ikuti langkah-langkah berikut:
- Meluncurkan PowerShell dengan hak admin.
- Anda perlu menggunakan Melanjutkan pernyataan setelah Menangkap memblokir. Mari kita pahami dengan sebuah contoh:

Mencoba {
Get-ChildItem -Path C:\DoesNotExist
}
Menangkap {
Tulis-Output $_.Exception. Pesan
Melanjutkan
}
6. Gunakan Try-Catch-Finally
Jika pernyataan Try-Catch masih tidak berfungsi, Anda dapat menggunakan konstruksi Try-Catch-Finally sebagai gantinya. Ini memastikan bahwa kode Anda berjalan hingga selesai, bahkan jika pengecualian dimunculkan.
- Membuka PowerShell sebagai administrator.
- Ketik perintah dengan Coba-Tangkap-Akhirnya. Berikut adalah contoh untuk memahami skrip dengan lebih baik:

Mencoba {
# Kode Anda di sini
}
Tangkap [System. Pengecualian] {
# Kode penanganan pengecualian di sini
}
Akhirnya {
# Kode pembersihan di sini
}
Jadi, ini adalah cara di mana Anda dapat menyelesaikan masalah Try Catch yang tidak berfungsi di PowerShell. Jika Anda memiliki pertanyaan terkait Try-Catch, harap sebutkan di bagian komentar di bawah. Kami akan dengan senang hati membantu!
Jika Anda ingin tahu cara menghentikan PowerShell agar tidak ditutup setelah menjalankan skrip, kamu bisa membaca ini.
Masih mengalami masalah? Perbaiki dengan alat ini:
SPONSOR
Jika saran di atas belum menyelesaikan masalah Anda, PC Anda mungkin mengalami masalah Windows yang lebih dalam. Kami merekomendasikan mengunduh alat Perbaikan PC ini (diberi peringkat Hebat di TrustPilot.com) untuk mengatasinya dengan mudah. Setelah instalasi, cukup klik Mulai Pindai tombol dan kemudian tekan pada Perbaiki Semua.