Write-Error
Menulis objek ke aliran kesalahan.
Sintaks
NoException (Default)
Write-Error
[-Message] <string>
[-Category <ErrorCategory>]
[-ErrorId <string>]
[-TargetObject <Object>]
[-RecommendedAction <string>]
[-CategoryActivity <string>]
[-CategoryReason <string>]
[-CategoryTargetName <string>]
[-CategoryTargetType <string>]
[<CommonParameters>]
WithException
Write-Error
[-Exception] <Exception>
[-Message <string>]
[-Category <ErrorCategory>]
[-ErrorId <string>]
[-TargetObject <Object>]
[-RecommendedAction <string>]
[-CategoryActivity <string>]
[-CategoryReason <string>]
[-CategoryTargetName <string>]
[-CategoryTargetType <string>]
[<CommonParameters>]
ErrorRecord
Write-Error
[-ErrorRecord] <ErrorRecord>
[-RecommendedAction <string>]
[-CategoryActivity <string>]
[-CategoryReason <string>]
[-CategoryTargetName <string>]
[-CategoryTargetType <string>]
[<CommonParameters>]
Deskripsi
Cmdlet Write-Error mendeklarasikan kesalahan yang tidak mengakhiri. Secara default, kesalahan dikirim dalam aliran kesalahan ke program host yang akan ditampilkan, bersama dengan output.
Untuk menulis kesalahan yang tidak menghentikan, masukkan string pesan kesalahan, objek ErrorRecord, atau objek Exception. Gunakan parameter lain dari Write-Error untuk mengisi catatan kesalahan.
Kesalahan yang tidak menghentikan akan menulis kesalahan ke dalam aliran kesalahan, tetapi tidak menghentikan pemrosesan perintah. Jika kesalahan yang tidak mengakhiri dinyatakan pada satu item dalam kumpulan item input, perintah terus memproses item lain dalam koleksi.
Untuk menyatakan kesalahan fatal, gunakan kata kunci throw.
Untuk informasi lebih lanjut, lihat about_Throw.
Contoh
Contoh 1: Menulis kesalahan untuk objek RegistryKey
Get-ChildItem | ForEach-Object {
if ($_.GetType().ToString() -eq "Microsoft.Win32.RegistryKey")
{
Write-Error "Invalid object" -ErrorId B1 -TargetObject $_
}
else
{
$_
}
}
Perintah ini menyatakan kesalahan yang tidak menghentikan proses saat cmdlet Get-ChildItem mengembalikan objek Microsoft.Win32.RegistryKey, seperti objek di drive HKLM: atau HKCU: penyedia registri PowerShell.
Contoh 2: Menulis pesan kesalahan ke konsol
Write-Error "Access denied."
Perintah ini menyatakan kesalahan yang tidak menghentikan proses dan mencatat kesalahan "Akses ditolak". Perintah menggunakan parameter Pesan
Contoh 3: Menulis kesalahan ke konsol dan menentukan kategori
Write-Error -Message "Error: Too many input values." -Category InvalidArgument
Perintah ini menyatakan kesalahan yang tidak menyebabkan penghentian dan menentukan kategori kesalahan.
Contoh 4: Menulis kesalahan menggunakan objek Pengecualian
$E = [System.Exception]@{Source="Get-ParameterNames.ps1";HelpLink="https://go.microsoft.com/fwlink/?LinkID=113425"}
Write-Error -Exception $E -Message "Files not found. The $Files location doesn't contain any XML files."
Perintah ini menggunakan objek Pengecualian untuk mendeklarasikan kesalahan yang tidak menghentikan proses.
Perintah pertama menggunakan tabel hash untuk membuat objek System.Exception $E. Anda dapat menggunakan tabel hash untuk membuat objek jenis apa pun yang memiliki konstruktor null.
Perintah kedua menggunakan cmdlet Write-Error untuk mendeklarasikan kesalahan non-terminasi. Nilai parameter Pengecualian adalah objek Pengecualian dalam variabel $E.
Parameter
-Category
Menentukan kategori kesalahan. Nilai defaultnya adalah NotSpecified. Nilai yang dapat diterima untuk parameter ini adalah:
- Tidak Ditentukan
- OpenError
- CloseError
- Kesalahan Perangkat
- DeadlockDetected
- ArgumenTidakValid
- Data Tidak Valid
- Operasi Tidak Valid
- HasilTidakValid
- Jenis Tidak Valid
- MetadataError
- Belum Diimplementasikan
- Tidak Terinstal
- ObjekTidakDitemukan
- OperasiDihentikan
- OperationTimeout
- Kesalahan Sintaks
- ParserError
- Izin Ditolak
- ResourceBusy
- ResourceExists
- Sumber Tidak Tersedia
- ReadError
- WriteError
- FromStdErr
- Kesalahan Keamanan
- ProtocolError
- ConnectionError
- AuthenticationError
- Batas Terlampaui
- Kuota Terlampaui
- Tidak Diaktifkan
Untuk informasi tentang kategori kesalahan, lihat enumerasi kategori kesalahan.
Properti parameter
| Jenis: | ErrorCategory |
| Nilai default: | NotSpecified |
| Nilai yang diterima: | NotSpecified, OpenError, CloseError, DeviceError, DeadlockDetected, InvalidArgument, InvalidData, InvalidOperation, InvalidResult, InvalidType, MetadataError, NotImplemented, NotInstalled, ObjectNotFound, OperationStopped, OperationTimeout, SyntaxError, ParserError, PermissionDenied, ResourceBusy, ResourceExists, ResourceUnavailable, ReadError, WriteError, FromStdErr, SecurityError, ProtocolError, ConnectionError, AuthenticationError, LimitsExceeded, QuotaExceeded, NotEnabled |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
NoException
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
WithException
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-CategoryActivity
Menentukan tindakan yang menyebabkan kesalahan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Aktivitas |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-CategoryReason
Menentukan bagaimana atau mengapa aktivitas menyebabkan kesalahan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Alasan |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-CategoryTargetName
Menentukan nama objek yang sedang diproses ketika terjadi kesalahan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | NamaTarget |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-CategoryTargetType
Menentukan tipe objek yang sedang diproses ketika terjadi kesalahan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Jenis Target |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ErrorId
Menentukan string ID untuk mengidentifikasi kesalahan. String harus unik untuk kesalahan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
NoException
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
WithException
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-ErrorRecord
Menentukan objek rekaman kesalahan yang mewakili kesalahan. Gunakan properti objek untuk menjelaskan kesalahan.
Untuk membuat objek rekaman kesalahan, gunakan cmdlet New-Object atau dapatkan objek rekaman kesalahan dari array dalam variabel otomatis $Error.
Properti parameter
| Jenis: | ErrorRecord |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
ErrorRecord
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Exception
Menentukan objek pengecualian yang mewakili kesalahan. Gunakan properti objek untuk menjelaskan kesalahan.
Untuk membuat objek pengecualian, gunakan tabel hash atau gunakan cmdlet New-Object.
Properti parameter
| Jenis: | Exception |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
WithException
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Message
Menentukan teks pesan kesalahan. Jika teks menyertakan spasi atau karakter khusus, sertakan dalam tanda kutip. Anda juga dapat menyalurkan string pesan ke Write-Error.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Msg |
Set parameter
NoException
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
WithException
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-RecommendedAction
Menentukan tindakan yang harus diambil pengguna untuk mengatasi atau mencegah kesalahan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-TargetObject
Menentukan objek yang sedang diproses ketika terjadi kesalahan. Masukkan objek, variabel yang berisi objek, atau perintah yang mendapatkan objek.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
NoException
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
WithException
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Anda dapat menyalurkan string yang berisi pesan kesalahan ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output. Ini hanya menulis ke dalam aliran pesan kesalahan.
Catatan
Write-Error tidak mengubah nilai variabel otomatis $?, oleh karena itu tidak memberi sinyal kondisi kesalahan yang mengakhiri. Untuk memberi sinyal kesalahan penghentian, gunakan metode