คุณ (จริงๆ) เขียนรหัสที่ปลอดภัยยกเว้น? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา การจัดการข้อยกเว้น (EH) ดูเหมือนจะเป็นมาตรฐานปัจจุบันและด้วยการค้นหาเว็บฉันไม่สามารถค้นหาความคิดแปลกใหม่หรือวิธีการที่พยายามปรับปรุงหรือแทนที่มัน (ดีมีความแตกต่างบางอย่างอยู่ แต่ไม่มีอะไรแปลกใหม่) แม้ว่าคนส่วนใหญ่ดูเหมือนจะเพิกเฉยหรือยอมรับมัน EH มีข้อเสียอย่างใหญ่หลวง: ข้อยกเว้นจะไม่สามารถมองเห็นได้จากโค้ดและสร้างจุดออกที่เป็นไปได้มากมาย โจเอลซอฟแวร์เขียนบทความเกี่ยวกับเรื่องนี้ การเปรียบเทียบgotoกับความสมบูรณ์แบบนั้นทำให้ฉันคิดอีกครั้งเกี่ยวกับ EH ฉันพยายามหลีกเลี่ยง EH และใช้ค่าส่งคืนการโทรกลับหรืออะไรก็ตามที่เหมาะกับวัตถุประสงค์ แต่เมื่อคุณต้องเขียนรหัสที่เชื่อถือได้คุณก็ไม่สามารถเพิกเฉยต่อ EH ได้ในวันนี้ : มันเริ่มต้นด้วยการnew, ซึ่งอาจทำให้เกิดข้อยกเว้นแทนที่จะส่งกลับ 0 (เหมือนในสมัยก่อน) สิ่งนี้ทำให้เกี่ยวกับบรรทัดของรหัส C ++ ใด ๆ ที่เสี่ยงต่อการยกเว้น และสถานที่อื่น ๆ ใน C + + รหัสพื้นฐานโยนข้อยกเว้น ... std lib ทำมันและอื่น ๆ รู้สึกเหมือนกำลังเดินบนพื้นที่สั่นคลอนดังนั้นตอนนี้เราถูกบังคับให้ดูแลเรื่องข้อยกเว้น! …