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

สารบัญ:

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

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

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

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

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

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

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

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

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

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

บทความที่น่าสนใจ
หัวท่อยาวๆ มาแทนที่แมวไหม?
อ่านเพิ่มเติม

หัวท่อยาวๆ มาแทนที่แมวไหม?

ใช่. แมวเลี้ยงมีข้อ จำกัด และอาจปฏิเสธหลอดยาว คุณต้องการเครื่องฟอกไอเสียที่มีหัวท่อยาวหรือไม่ ท่อยาวผิดกฎหมายเพราะคุณไม่สามารถ ใช้อุปกรณ์ปล่อยมลพิษของโรงงานกับมัน… ขาสั้นนั้นถูกกฎหมายเท่านั้นเพราะคุณยังสามารถโบลต์ท่อ 4 cat H ของโรงงานได้.

Ligule ในพฤกษศาสตร์คืออะไร?
อ่านเพิ่มเติม

Ligule ในพฤกษศาสตร์คืออะไร?

Ligule: อวัยวะที่เป็นพังผืดที่เกิดจากพื้นผิวด้านในของใบที่ทางแยกที่มีฝักอยู่เป็นจำนวนมาก หญ้าและหญ้าแฝกบางชนิด ในหญ้า ligule คือ ลักษณะเฉพาะที่สำคัญ เรียกว่า ligule เรียกว่าอะไร A ligule (จากภาษาละติน: ligula "strap", ตัวแปรของ lingula จาก lingua "

ฉันควรยกโทษให้ภรรยาของฉันเรื่องเซ็กส์ไหม?
อ่านเพิ่มเติม

ฉันควรยกโทษให้ภรรยาของฉันเรื่องเซ็กส์ไหม?

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