กลับไปหน้าบทความ

อ่าน 1 นาที

การเชื่อมโยงข้อยกเว้น

การเชื่อมโยงข้อยกเว้น หรือ การห่อหุ้มข้อยกเว้น เป็น เทคนิค การเขียนโปรแกรมเชิงวัตถุ ใน การจัดการข้อยกเว้น โดยการโยนข้อยกเว้นที่ดักจับได้อีกครั้งหลังจากห่อหุ้มมันไว้ในข้อยกเว้นใหม่...

การเชื่อมโยงข้อยกเว้น

การเชื่อมโยงข้อยกเว้นหรือการห่อหุ้มข้อยกเว้นเป็น เทคนิค การเขียนโปรแกรมเชิงวัตถุในการจัดการข้อยกเว้นโดยการโยนข้อยกเว้นที่ดักจับได้อีกครั้งหลังจากห่อหุ้มมันไว้ในข้อยกเว้นใหม่ ข้อยกเว้นเดิมจะถูกบันทึกไว้เป็นคุณสมบัติ (เช่นสาเหตุ ) ของข้อยกเว้นใหม่ แนวคิดคือ เมธอดควรโยนข้อยกเว้นที่กำหนดไว้ในระดับนามธรรมเดียวกันกับเมธอดนั้นเอง แต่โดยไม่ทิ้งข้อมูลจากระดับที่ต่ำกว่า

ตัวอย่างเช่น เมธอดสำหรับเล่นไฟล์ภาพยนตร์อาจจัดการกับข้อยกเว้นในการอ่านไฟล์โดยการโยนข้อยกเว้นเหล่านั้นซ้ำเข้าไปในข้อยกเว้นของการเล่นภาพยนตร์ อินเทอร์เฟซผู้ใช้ไม่จำเป็นต้องรู้ว่าข้อผิดพลาดเกิดขึ้นระหว่างการอ่านกลุ่มไบต์หรือการเรียกใช้ eof() มันต้องการเพียงข้อความข้อยกเว้นที่ดึงมาจากสาเหตุ เท่านั้น เลเยอร์อินเทอร์เฟซผู้ใช้จะมีชุดข้อยกเว้นของตนเอง ผู้ที่สนใจในสาเหตุสามารถดูการติดตามสแต็ก ได้ ในระหว่างการดีบักหรือในบันทึกที่เหมาะสม

การโยนข้อยกเว้นที่ถูกต้องนั้นได้รับการบังคับใช้อย่างเข้มงวดโดยข้อยกเว้นแบบตรวจสอบได้ (checked exceptions)ในภาษาการเขียนโปรแกรม Javaและตั้งแต่เวอร์ชันภาษา 1.4 เป็นต้นไป ข้อยกเว้นเกือบทั้งหมดรองรับการเชื่อมโยง (chaining)

ในสภาพแวดล้อมการทำงานของเอนจินรันไทม์ เช่น Java หรือ .NET มีเครื่องมือที่เชื่อมต่อกับเอนจินรันไทม์ และทุกครั้งที่เกิดข้อยกเว้นที่น่าสนใจ เครื่องมือเหล่านี้จะบันทึกข้อมูลการดีบักที่มีอยู่ในหน่วยความจำ ณ เวลาที่เกิดข้อยกเว้น (ค่าสแต็กและฮีป) เครื่องมือเหล่านี้เรียกว่า การดักจับข้อยกเว้น (Exception Interception) และให้ข้อมูล "สาเหตุหลัก" สำหรับข้อยกเว้นในโปรแกรม Java ที่ทำงานในสภาพแวดล้อมการผลิต การทดสอบ หรือการพัฒนา

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Exception_chaining&oldid=1023270495 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเชื่อมโยงข้อยกเว้น

การเชื่อมโยงข้อยกเว้น หรือ การห่อหุ้มข้อยกเว้น เป็น เทคนิค การเขียนโปรแกรมเชิงวัตถุ ใน การจัดการข้อยกเว้น โดยการโยนข้อยกเว้นที่ดักจับได้อีกครั้งหลังจากห่อหุ้มมันไว้ในข้อยกเว้นใหม่...