Try Catch ใน PowerShell คืออะไร & วิธีใช้งาน

ต่อไปนี้เป็นวิธีจัดการกับข้อผิดพลาดด้วย cmdlets บรรทัดคำสั่งอย่างง่าย

  • หากคุณเป็นผู้ใช้ PowerShell เป็นประจำ คุณจะพบหน้าจอที่เต็มไปด้วยข้อความสีแดงที่แสดงข้อผิดพลาดอย่างชัดเจน
  • อาจเป็นเรื่องยากที่จะระบุสาเหตุที่แท้จริงของข้อผิดพลาด แต่ด้วยคำสั่ง try-catch ของ PowerShell คุณสามารถตรวจจับข้อผิดพลาดและดำเนินการกับมันได้
  • ในบทความนี้ เราจะแสดงวิธีเริ่มต้นใช้งานคำสั่ง try catch

เอ็กซ์ติดตั้งโดยคลิกที่ไฟล์ดาวน์โหลด

ในการแก้ไขปัญหาต่าง ๆ ของพีซี เราขอแนะนำเครื่องมือซ่อมแซมพีซีของ Restoro:ซอฟต์แวร์นี้จะซ่อมแซมข้อผิดพลาดทั่วไปของคอมพิวเตอร์ ปกป้องคุณจากการสูญหายของไฟล์ มัลแวร์ ความล้มเหลวของฮาร์ดแวร์ และปรับแต่งพีซีของคุณเพื่อประสิทธิภาพสูงสุด แก้ไขปัญหาพีซีและกำจัดไวรัสใน 3 ขั้นตอนง่ายๆ:
  1. ดาวน์โหลดเครื่องมือซ่อมแซมพีซี Restoro ที่มาพร้อมกับเทคโนโลยีที่จดสิทธิบัตร (มีสิทธิบัตร ที่นี่).
  2. คลิก เริ่มสแกน เพื่อค้นหาปัญหาของ Windows ที่อาจทำให้เกิดปัญหากับพีซี
  3. คลิก ซ่อมทั้งหมด เพื่อแก้ไขปัญหาที่ส่งผลกระทบต่อความปลอดภัยและประสิทธิภาพของคอมพิวเตอร์ของคุณ
  • ดาวน์โหลด 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 ยังรวมคุณสมบัติการดีบักสคริปต์ที่ให้คุณก้าวผ่านโค้ดของคุณแบบโต้ตอบ

  1. ตี หน้าต่าง คีย์, พิมพ์ Powershell ISE แล้วคลิก เรียกใช้ในฐานะผู้ดูแลระบบ.
  2. สร้างรหัสที่จะให้ข้อผิดพลาดในเชิงบวก ไวยากรณ์สำหรับบล็อก try-catch คือ:

พยายาม { 
// รหัสที่อาจทำให้เกิดข้อผิดพลาด 
} จับ { // รหัสเพื่อดำเนินการหากเกิดข้อผิดพลาดระหว่างการดำเนินการของบล็อกการลอง
}

  1. ตัวอย่าง เราสามารถใช้สิ่งต่อไปนี้:

พยายาม {
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) เพื่อจัดการกับปัญหาเหล่านี้ได้อย่างง่ายดาย หลังการติดตั้ง เพียงคลิกที่ เริ่มสแกน ปุ่มแล้วกดบน ซ่อมทั้งหมด.

PowerShell เป็นโอเพ่นซอร์สและพร้อมใช้งานบน Linux. แล้ว

PowerShell เป็นโอเพ่นซอร์สและพร้อมใช้งานบน Linux. แล้วลินุกซ์Powershell

PowerShell เป็นงานอัตโนมัติและเฟรมเวิร์กการจัดการการกำหนดค่าที่มาในรูปแบบของบรรทัดคำสั่ง เป็นเครื่องมือที่สำคัญสำหรับผู้ดูแลระบบเครือข่าย การจัดการระบบ งานMicrosoft เพิ่งเปิดแหล่งที่มา PowerShell, ...

อ่านเพิ่มเติม
การแก้ไข: PowerShell ไม่แสดงผลแบบเต็ม

การแก้ไข: PowerShell ไม่แสดงผลแบบเต็มPowershell

ในการแก้ไขปัญหาต่าง ๆ ของพีซี เราขอแนะนำ DriverFix:ซอฟต์แวร์นี้จะช่วยให้ไดรเวอร์ของคุณทำงานอยู่เสมอ ทำให้คุณปลอดภัยจากข้อผิดพลาดทั่วไปของคอมพิวเตอร์และความล้มเหลวของฮาร์ดแวร์ ตรวจสอบไดรเวอร์ทั้งหมด...

อ่านเพิ่มเติม
Powershell Get-AppxPackage ไม่ทำงานใน Windows 11/10

Powershell Get-AppxPackage ไม่ทำงานใน Windows 11/10Powershell

คือ 'รับ-AppxPackage'คำสั่งไม่ทำงานบนเทอร์มินัล PowerShell ของคุณหรือไม่ ตามที่ผู้ใช้บางคนระบุว่า พวกเขาได้รับข้อความแสดงข้อผิดพลาดขนาดใหญ่ ซึ่งสรุปว่า “ไม่สามารถเริ่มบริการได้ เนื่องจากถูกปิดใช้งา...

อ่านเพิ่มเติม