ทำไมข้อยกเว้นถึงไม่ดี?

ทำไมข้อยกเว้นถึงไม่ดี?
ทำไมข้อยกเว้นถึงไม่ดี?
Anonim

ข้อยกเว้นทำให้ง่ายต่อการเขียนโค้ด โดยที่ข้อยกเว้น thrown จะทำลายค่าคงที่และปล่อยให้อ็อบเจ็กต์มีสถานะไม่สอดคล้องกัน โดยพื้นฐานแล้วพวกเขาบังคับให้คุณจำไว้ว่าทุกข้อความที่คุณพูดส่วนใหญ่สามารถโยนและจัดการได้อย่างถูกต้อง การทำเช่นนี้อาจเป็นเรื่องยากและเข้าใจได้ง่าย

ทำไมข้อยกเว้นถึงไม่ดี C++

เหตุผลหลักที่ข้อยกเว้น C++ มักถูกห้ามคือ เขียนโค้ด C++ ที่ปลอดภัยสำหรับข้อยกเว้นยากมาก ข้อยกเว้นด้านความปลอดภัยไม่ใช่คำที่คุณได้ยินบ่อยนัก แต่โดยพื้นฐานแล้วหมายถึงรหัสที่ไม่เสียหายเกินไปหากสแต็กถูกคลายออก

ยกเว้นข้อยกเว้นที่ไม่ดีหรือไม่

คุณควรใช้อย่างน้อย ยกเว้น Exception : เพื่อหลีกเลี่ยงไม่ให้ระบบจับ exceptions like SystemExit หรือ KeyboardInterrupt นี่คือลิงค์ไปยังเอกสาร โดยทั่วไป คุณควรกำหนดอย่างชัดเจนว่า exceptions ที่คุณต้องการจับ เพื่อหลีกเลี่ยงการจับ exceptions ที่ไม่ต้องการ คุณควรรู้ว่าอะไร ยกเว้น คุณเพิกเฉย

เหตุใด catch exception จึงเป็นความคิดที่ไม่ดีเสมอไป

catch(ข้อยกเว้น) เป็นแนวปฏิบัติที่ไม่ดี เพราะมันจับ RuntimeException ทั้งหมด (ยกเว้นที่ไม่ได้เลือก) ด้วย นี่อาจเป็นจาวาเฉพาะ: บางครั้งคุณจะต้องเรียกใช้เมธอดที่มีข้อยกเว้นที่ตรวจสอบแล้ว หากสิ่งนี้อยู่ในเลเยอร์ EJB / ตรรกะทางธุรกิจของคุณ คุณมี 2 ตัวเลือก - จับหรือโยนใหม่

ผลการปฏิบัติงานมีข้อยกเว้นหรือไม่

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