ข้อผิดพลาดและข้อยกเว้นในระบบประเภทขยาย
ข้อผิดพลาดอาจเกิดขึ้นใน ETS ในระหว่างการเริ่มต้นข้อมูลประเภท และเมื่อเข้าถึงสมาชิกของออบเจ็กต์ PSObject หรือใช้คลาสอรรถประโยชน์อย่างใดอย่างหนึ่ง เช่น LanguagePrimitives
ข้อผิดพลาดรันไทม์
ด้วยข้อยกเว้นประการหนึ่ง เมื่อทำการส่ง ข้อยกเว้นทั้งหมดที่เกิดขึ้นจาก ETS ในระหว่างรันไทม์อาจเป็นข้อยกเว้น ExtensedTypeSystemException หรือข้อยกเว้นที่ได้มาจากคลาส ExtensedTypeSystemException ซึ่งช่วยให้นักพัฒนาสคริปต์ดักจับข้อยกเว้นเหล่านี้ได้โดยใช้คำสั่ง Trap ในสคริปต์ของตน
เกิดข้อผิดพลาดในการรับค่าสมาชิก
ข้อผิดพลาดทั้งหมดที่เกิดขึ้นเมื่อรับค่าของสมาชิก ETS (คุณสมบัติ วิธีการ หรือคุณสมบัติที่กำหนดพารามิเตอร์) ทำให้เกิดข้อยกเว้น GetValueException หรือ GetValueInvocationException ที่จะเกิดขึ้น เมื่อ ETS รับรู้ว่ามีข้อผิดพลาดเกิดขึ้น ข้อยกเว้น GetValueException จะถูกส่งออกไป เมื่อ getter พื้นฐานของสมาชิกที่อ้างอิงรับรู้ว่ามีข้อผิดพลาดเกิดขึ้น ข้อยกเว้น GetValueInvocationException จะถูกส่งออกไปซึ่งอาจรวมหรือไม่รวมข้อยกเว้นภายในที่ทำให้เกิดข้อผิดพลาดในการเรียกใช้ get
เกิดข้อผิดพลาดในการตั้งค่าสมาชิก
ข้อผิดพลาดทั้งหมดที่เกิดขึ้นเมื่อตั้งค่าของคุณสมบัติ ETS ทำให้เกิดข้อยกเว้น SetValueException หรือ SetValueInvocationException ที่จะเกิดขึ้น เมื่อ ETS รับรู้ว่ามีข้อผิดพลาดเกิดขึ้น ข้อยกเว้น SetValueException จะถูกส่งออกไป เมื่อตัวตั้งค่าพื้นฐานของคุณสมบัติที่อ้างอิงรับรู้ว่าเกิดข้อผิดพลาด ข้อยกเว้น SetValueInvocationException จะถูกส่งออกไปซึ่งอาจรวมหรือไม่รวมข้อยกเว้นภายในที่ทำให้เกิดข้อผิดพลาดในการเรียกใช้การตั้งค่า
ข้อผิดพลาดในการเรียกใช้เมธอด
ข้อผิดพลาดทั้งหมดที่เกิดขึ้นเมื่อเรียกใช้เมธอด ETS ทำให้เกิดข้อยกเว้น MethodException หรือ MethodInvocationException เมื่อ ETS รับรู้ว่ามีข้อผิดพลาดเกิดขึ้น ข้อยกเว้น MethodException จะถูกส่งออกไป เมื่อวิธีการอ้างอิงรับรู้ว่ามีข้อผิดพลาดเกิดขึ้น ข้อยกเว้น MethodInvocationException จะถูกส่งออกไปซึ่งอาจหรือไม่รวมข้อยกเว้นภายในที่ทำให้เกิดข้อผิดพลาดในการเรียกใช้
ข้อผิดพลาดในการส่ง
เมื่อมีการพยายามส่งที่ไม่ถูกต้อง PSInvalidCastException จะถูกส่งออกไป เนื่องจากข้อยกเว้นนี้มาจาก System.InvalidCastException จึงไม่สามารถดักจับจากสคริปต์ได้โดยตรง โปรดทราบว่าเอนทิตีที่พยายามส่งจะต้องล้อม PSInvalidCastException ใน PSRuntimeException เพื่อให้สคริปต์ดักจับสิ่งนี้ได้ หากมีการพยายามตั้งค่าของ PSPropertySet, PSMemberSet, PSMethodInfo หรือสมาชิกของ ReadOnlyPSMemberInfoCollection`1< NotSupportedException ถูกส่งออกไป
ข้อผิดพลาดรันไทม์ทั่วไป
ข้อผิดพลาดรันไทม์ทั่วไปอื่นๆ ที่เกิดขึ้นเป็นประเภทข้อยกเว้น ExtensedTypeSystemException โดยไม่มีประเภทข้อยกเว้นเฉพาะเพิ่มเติม
ข้อผิดพลาดในการเริ่มต้น
อาจเกิดข้อผิดพลาดเมื่อเริ่มต้น types.ps1xml โดยทั่วไปแล้ว ข้อผิดพลาดเหล่านี้จะแสดงขึ้นเมื่อรันไทม์ของ PowerShell เริ่มทำงาน อย่างไรก็ตาม ยังสามารถแสดงได้เมื่อมีการโหลดโมดูลอีกด้วย