PowerShell:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีการ:
PowerShell ทำให้การเขียนไปยัง stderr ง่ายขึ้นผ่านการใช้ cmdlet Write-Error หรือโดยการนำออกไปยังเมธอด $host.ui.WriteErrorLine() อย่างไรก็ตาม สำหรับการเปลี่ยนทิศทาง stderr โดยตรง คุณอาจจะชอบใช้เมธอดของ .NET หรือการเปลี่ยนทิศทางตัวกำหนดไฟล์ที่ PowerShell เสนอ
ตัวอย่างที่ 1: ใช้ Write-Error เพื่อเขียนข้อความผิดพลาดไปยัง stderr
Write-Error "This is an error message."ผลลัพธ์ที่ stderr:
Write-Error: This is an error message.ตัวอย่างที่ 2: ใช้ $host.ui.WriteErrorLine() สำหรับการเขียน stderr โดยตรง
$host.ui.WriteErrorLine("Direct stderr write.")ผลลัพธ์ที่ stderr:
Direct stderr write.ตัวอย่างที่ 3: ใช้เมธอดของ .NET สำหรับการเขียนไปยัง stderr
[Console]::Error.WriteLine("Using .NET method for stderr")ผลลัพธ์ของเมธอดนี้:
Using .NET method for stderrตัวอย่างที่ 4: การเปลี่ยนทิศทางผลลัพธ์ผิดพลาดโดยใช้ตัวกำหนดไฟล์ 2>
ตัวกำหนดไฟล์ใน PowerShell สามารถเปลี่ยนทิศทางสตรีมต่างๆ สำหรับ stderr ตัวกำหนดไฟล์คือ 2 นี่คือตัวอย่างของการเปลี่ยนทิศทาง stderr ไปยังไฟล์ที่ชื่อว่า error.log ขณะที่ดำเนินคำสั่งที่สร้างข้อผิดพลาด
Get-Item NonExistentFile.txt 2> error.logตัวอย่างนี้ไม่ผลิตผลลัพธ์ของคอนโซล แต่สร้างไฟล์ error.log ในไดเร็กทอรีปัจจุบันที่มีข้อความผิดพลาดจากการพยายามเข้าถึงไฟล์ที่ไม่มีอยู่
โดยสรุป PowerShell ให้วิธีการหลายวิธีในการเขียนและจัดการผลลัพธ์ข้อผิดพลาดอย่างมีประสิทธิภาพ ช่วยให้สามารถจัดการข้อผิดพลาดและกลยุทธ์การบันทึกในสคริปต์และแอปพลิเคชันได้อย่างชาญฉลาด