ต่อไปนี้เป็นวิธีจัดการกับข้อผิดพลาดด้วย cmdlets บรรทัดคำสั่งอย่างง่าย
- หากคุณเป็นผู้ใช้ PowerShell เป็นประจำ คุณจะพบหน้าจอที่เต็มไปด้วยข้อความสีแดงที่แสดงข้อผิดพลาดอย่างชัดเจน
- อาจเป็นเรื่องยากที่จะระบุสาเหตุที่แท้จริงของข้อผิดพลาด แต่ด้วยคำสั่ง try-catch ของ PowerShell คุณสามารถตรวจจับข้อผิดพลาดและดำเนินการกับมันได้
- ในบทความนี้ เราจะแสดงวิธีเริ่มต้นใช้งานคำสั่ง try catch
เอ็กซ์ติดตั้งโดยคลิกที่ไฟล์ดาวน์โหลด
- ดาวน์โหลดเครื่องมือซ่อมแซมพีซี Restoro ที่มาพร้อมกับเทคโนโลยีที่จดสิทธิบัตร (มีสิทธิบัตร ที่นี่).
- คลิก เริ่มสแกน เพื่อค้นหาปัญหาของ Windows ที่อาจทำให้เกิดปัญหากับพีซี
- คลิก ซ่อมทั้งหมด เพื่อแก้ไขปัญหาที่ส่งผลกระทบต่อความปลอดภัยและประสิทธิภาพของคอมพิวเตอร์ของคุณ
- ดาวน์โหลด Restoro แล้วโดย 0 ผู้อ่านในเดือนนี้
Try catch คือคำสั่งโฟลว์การควบคุมที่ใช้ภายใน PowerShell เพื่อตรวจจับข้อผิดพลาดและข้อยกเว้น สามารถใช้เมื่อคุณต้องการจัดการกับข้อผิดพลาดในสคริปต์ของคุณและหยุดการดำเนินการต่อไป
แม้ว่า พาวเวอร์เชลล์ เป็นเครื่องมือบรรทัดคำสั่งที่มีประสิทธิภาพของ Windows บางครั้งอาจตีความได้ยากหากส่งกลับข้อผิดพลาด คุณอาจติดอยู่หลายวันเพื่อพยายามคิดว่าคุณผิดพลาดตรงไหน นั่นคือที่มาของคำสั่ง try-catch และเราจะแสดงวิธีใช้งานในบทความนี้
มีการลองจับใน PowerShell หรือไม่
คำสั่ง Try Catch เป็นวิธีที่มีประสิทธิภาพในการจัดการข้อผิดพลาดและข้อยกเว้นใน PowerShell สามารถจัดการข้อผิดพลาดได้ทุกประเภท ตั้งแต่ข้อยกเว้นของระบบไปจนถึงข้อผิดพลาดที่ผู้ใช้สร้างขึ้น
ก่อนที่คุณจะเข้าใจว่ามันทำงานอย่างไร คุณต้องรู้ก่อนว่าพวกมันหมายถึงอะไรและทำอะไรได้บ้าง
ลองบล็อก
บล็อกการลองคือบล็อกแรกของโค้ดที่ทำงานเมื่อเกิดข้อผิดพลาด สามารถรันโค้ดใดๆ ก็ได้ แต่จะไม่ทำอะไรพิเศษสำหรับข้อผิดพลาด หากเกิดข้อผิดพลาด PowerShell จะดำเนินการสคริปต์ส่วนที่เหลือต่อไปโดยไม่รอให้คุณจัดการกับข้อผิดพลาด
คำสั่ง Try Catch ประกอบด้วยบล็อก Try หนึ่งบล็อกขึ้นไป บล็อกเหล่านี้ต้องอยู่ในลำดับเฉพาะเพื่อให้โค้ดทำงานได้อย่างถูกต้อง
บล็อกนี้เริ่มดำเนินการทันทีหากไม่มีข้อผิดพลาดเกิดขึ้น หากเกิดข้อผิดพลาดระหว่างบล็อกนี้ ระบบจะออกจากบล็อกนั้นทันทีและดำเนินการโค้ดต่อไปภายในบล็อก Catch ที่ตรงกัน
จับบล็อก
บล็อก catch เป็นส่วนหนึ่งของไปป์ไลน์ PowerShell ที่สามารถจัดการกับข้อผิดพลาดและข้อยกเว้นอื่นๆ catch block ไม่ส่งคืนค่าใด ๆ แต่จะอนุญาตให้คุณจัดการเงื่อนไขข้อผิดพลาดในสคริปต์ของคุณ
บล็อกนี้มีโค้ดที่จัดการข้อผิดพลาดขณะเรียกใช้โค้ดภายในบล็อก Try จะดำเนินการหากเกิดข้อผิดพลาดระหว่างบล็อก Try ภายในสคริปต์
โครงสร้าง try-catch ช่วยให้คุณจัดการข้อผิดพลาดต่างๆ ในสคริปต์ของคุณได้ ตัวอย่างเช่น หากคุณมีฟังก์ชันที่ไม่ส่งกลับค่า คุณสามารถใช้โครงสร้าง try-catch เพื่อตรวจสอบเงื่อนไขข้อผิดพลาด แล้วดำเนินการบางอย่างหากมี
คุณเขียน try catch ใน PowerShell ได้อย่างไร
เคล็ดลับจากผู้เชี่ยวชาญ:
ผู้สนับสนุน
ปัญหาเกี่ยวกับพีซีบางอย่างยากที่จะแก้ไข โดยเฉพาะอย่างยิ่งเมื่อเป็นเรื่องของพื้นที่เก็บข้อมูลที่เสียหายหรือไฟล์ Windows หายไป หากคุณประสบปัญหาในการแก้ไขข้อผิดพลาด ระบบของคุณอาจเสียหายบางส่วน
เราแนะนำให้ติดตั้ง Restoro ซึ่งเป็นเครื่องมือที่จะสแกนเครื่องของคุณและระบุข้อผิดพลาด
คลิกที่นี่ เพื่อดาวน์โหลดและเริ่มการซ่อมแซม
โปรดทราบว่าในระหว่างการทดสอบการเขียนสคริปต์นี้ เราจะใช้ Windows PowerShell ISE (Integrated Scripting Environment) นี่คือประสบการณ์เชลล์แบบโต้ตอบของ Windows PowerShell
ISE จัดเตรียมสภาพแวดล้อมการพัฒนาที่ยอดเยี่ยมสำหรับการเขียน การดีบัก และการทดสอบสคริปต์ด้วยพรอมต์คำสั่งแบบโต้ตอบ ประกอบด้วยชุดเครื่องมือการเขียนสคริปต์ การดีบัก และการแก้ไขแบบครบวงจรที่ช่วยให้คุณพัฒนา ทดสอบ และดีบักสคริปต์ PowerShell ได้อย่างรวดเร็ว
ISE ยังรวมคุณสมบัติการดีบักสคริปต์ที่ให้คุณก้าวผ่านโค้ดของคุณแบบโต้ตอบ
- ตี หน้าต่าง คีย์, พิมพ์ Powershell ISE แล้วคลิก เรียกใช้ในฐานะผู้ดูแลระบบ.
- สร้างรหัสที่จะให้ข้อผิดพลาดในเชิงบวก ไวยากรณ์สำหรับบล็อก try-catch คือ:
พยายาม {
// รหัสที่อาจทำให้เกิดข้อผิดพลาด
} จับ { // รหัสเพื่อดำเนินการหากเกิดข้อผิดพลาดระหว่างการดำเนินการของบล็อกการลอง
}
- ตัวอย่าง เราสามารถใช้สิ่งต่อไปนี้:
พยายาม {
Write-Host "สิ่งนี้จะไม่ส่งข้อยกเว้นใด ๆ "
} จับ [ระบบ. ข้อยกเว้น] {
Write-Host "สิ่งนี้จะทำให้เกิดข้อยกเว้น" }
ในขณะที่บล็อกทั้งสองสามารถทำงานและตรวจจับข้อผิดพลาดได้ คุณต้องมีอีกบล็อกหนึ่งเพื่อล้างข้อผิดพลาด บล็อกสุดท้ายใช้เพื่อล้างสภาพแวดล้อมหลังจากการดำเนินการของบล็อกลอง
- Bootstrapper.exe: มันคืออะไร & คุณควรลบออก?
- Onedrive vs Dropbox: อันไหนดีกว่าสำหรับคุณในปี 2023?
ฉันจะลอง catch ได้อย่างไรหากไม่มีข้อผิดพลาดใน PowerShell
ข้อผิดพลาดคือเงื่อนไขที่เกิดขึ้นในขณะที่สคริปต์ PowerShell กำลังทำงาน และป้องกันไม่ให้สคริปต์ดำเนินการต่อไปยังโค้ดบรรทัดถัดไป อาจเกิดจากสิ่งภายนอก (เช่น ไฟล์หายไปหรือตัวแปรไม่ถูกต้อง) หรือภายใน (ข้อผิดพลาดทางไวยากรณ์)
PowerShell มีข้อผิดพลาดสองประเภท: ยุติและไม่ยุติ ข้อผิดพลาดในการยกเลิกหยุดการทำงานของสคริปต์ ในทางกลับกัน ข้อผิดพลาดที่ไม่สิ้นสุดคือข้อผิดพลาดที่ไม่ได้หยุดการทำงานของสคริปต์ แต่สร้างเอาต์พุตไปยังคอนโซล
บล็อก try/catch ช่วยให้เราสามารถจัดการกับข้อผิดพลาดได้โดยการตรวจจับข้อผิดพลาดด้วยคำหลัก try จากนั้นให้บล็อกการดำเนินการที่จะดำเนินการหากเกิดข้อผิดพลาดขึ้น เมื่อเกิดข้อผิดพลาด PowerShell จะดำเนินการโค้ดในบล็อก Catch
หากไม่มีข้อผิดพลาดเกิดขึ้น catch block จะไม่ทำงาน และสคริปต์จะทำงานต่อไปตามปกติ ถ้า ลองจับใน Powเออร์เชลล์ไม่ทำงานตรวจสอบบทความโดยละเอียดของเราเกี่ยวกับวิธีการแก้ไข
แจ้งให้เราทราบว่าคุณใช้บรรทัดคำสั่ง try catch อย่างไรในส่วนความคิดเห็นด้านล่าง
ยังคงมีปัญหา? แก้ไขด้วยเครื่องมือนี้:
ผู้สนับสนุน
หากคำแนะนำข้างต้นไม่สามารถแก้ปัญหาของคุณได้ พีซีของคุณอาจประสบปัญหา Windows ที่ลึกกว่านั้น เราแนะนำ ดาวน์โหลดเครื่องมือซ่อมแซมพีซีนี้ (ได้รับการจัดอันดับยอดเยี่ยมบน TrustPilot.com) เพื่อจัดการกับปัญหาเหล่านี้ได้อย่างง่ายดาย หลังการติดตั้ง เพียงคลิกที่ เริ่มสแกน ปุ่มแล้วกดบน ซ่อมทั้งหมด.