Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Deskripsi singkat
Menjelaskan kata kunci throw yang menghasilkan kesalahan penghentian.
Deskripsi panjang
Kata kunci throw menyebabkan kesalahan penghentian. Anda dapat menggunakan kata kunci throw untuk menghentikan pemrosesan perintah, fungsi, atau skrip.
Misalnya, Anda dapat menggunakan throw kata kunci di blok if pernyataan pernyataan untuk merespons kondisi atau di catch blok try/catch/finally pernyataan.
Kata kunci throw dapat melemparkan objek apa pun, seperti string pesan pengguna atau objek yang menyebabkan kesalahan.
Syntax
Sintaks kata kunci throw adalah sebagai berikut:
throw [<expression>]
Ekspresi dalam sintaks throw bersifat opsional. Saat pernyataan throw tidak muncul di blok catch, dan tidak menyertakan ekspresi, pernyataan tersebut menghasilkan kesalahan ScriptHalted.
throw
Exception: ScriptHalted
Jika kata kunci throw digunakan dalam blok catch tanpa ekspresi, kata kunci tersebut akan melemparkan RuntimeException saat ini lagi. Untuk informasi selengkapnya, lihat about_Try_Catch_Finally.
Melempar string
Ekspresi opsional dalam pernyataan throw dapat berupa string, seperti yang ditunjukkan dalam contoh berikut:
throw "This is an error."
Exception: This is an error.
Melemparkan objek lain
Ekspresi juga bisa menjadi objek yang melempar objek yang mewakili proses PowerShell, seperti yang ditunjukkan dalam contoh berikut:
throw (Get-Process pwsh)
Exception: System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh)
Anda dapat menggunakan properti TargetObject dari objek ErrorRecord di variabel otomatis $Error untuk memeriksa kesalahan.
$Error[0].TargetObject
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
125 174.44 229.57 23.61 1548 2 pwsh
63 44.07 81.95 1.75 1732 2 pwsh
63 43.32 77.65 1.48 9092 2 pwsh
Anda juga dapat throw objek ErrorRecord atau pengecualian .NET. Contoh berikut menggunakan kata kunci throw untuk melemparkan objek System.FormatException.
$formatError = New-Object System.FormatException
throw $formatError
OperationStopped: One of the identified items was in an invalid format.
Kesalahan yang dihasilkan
Kata kunci throw dapat menghasilkan objek ErrorRecord. Properti Pengecualian dari objek ErrorRecord berisi objek RuntimeException.
Sisa objek ErrorRecord dan objek RuntimeException bervariasi tergantung pada objek yang dilemparkan.
Objek throw dibungkus dalam objek ErrorRecord, dan objek ErrorRecord secara otomatis disimpan dalam variabel otomatis $Error.
Menggunakan throw untuk membuat parameter wajib
Tidak seperti versi PowerShell sebelumnya, jangan gunakan kata kunci throw untuk validasi parameter. Lihat about_Functions_Advanced_Parameters dengan cara yang benar.