การเขียนไปยังข้อผิดพลาดมาตรฐาน

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 ให้วิธีการหลายวิธีในการเขียนและจัดการผลลัพธ์ข้อผิดพลาดอย่างมีประสิทธิภาพ ช่วยให้สามารถจัดการข้อผิดพลาดและกลยุทธ์การบันทึกในสคริปต์และแอปพลิเคชันได้อย่างชาญฉลาด