JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค #158. 10 เคล็ดลับในการจัดการข้อยกเว้นใน Java

คอฟฟี่เบรค #158. 10 เคล็ดลับในการจัดการข้อยกเว้นใน Java

เผยแพร่ในกลุ่ม
ที่มา: สื่อ โพสต์นี้จะช่วยให้คุณเข้าใจวิธีจัดการกับข้อยกเว้นอย่างมีประสิทธิภาพใน Java ได้ดีขึ้น คอฟฟี่เบรค #158.  10 เคล็ดลับในการจัดการข้อยกเว้นใน Java - 1การจัดการกับข้อยกเว้นของ Java อาจเป็นเรื่องที่ท้าทาย อาจเป็นเรื่องยากที่จะพิจารณาว่าข้อยกเว้น Java ใดที่ต้องจัดการ ข้อยกเว้นใดที่ต้องสร้างใหม่ และข้อยกเว้นใดที่ควรละเว้น อย่างไรก็ตาม มีแนวทางที่เป็นประโยชน์หลายประการที่สามารถช่วยคุณจัดการกับข้อยกเว้นและสร้างแอปพลิเคชันใหม่ได้อย่างมีประสิทธิภาพ มาทำความรู้จักกับพวกเขากันดีกว่า
  1. ระวังสิ่งที่คุณเข้าสู่ระบบ
  2. อย่าละเลยข้อยกเว้นที่เกิดขึ้น
  3. ใช้ตัวจัดการข้อยกเว้นส่วนกลาง
  4. อย่าปิดทรัพยากรด้วยตนเอง
  5. โยนก่อนแล้วจัดการข้อยกเว้นในภายหลัง
  6. ข้อยกเว้น Java ไม่ควรถูกบันทึกและเขียนใหม่
  7. ตรวจสอบข้อยกเว้นที่ถูกระงับ
  8. ในคำสั่ง Throw ให้ประกาศข้อยกเว้นอย่างแม่นยำ
  9. จัดการข้อยกเว้นที่ชัดเจนที่สุดก่อน
  10. ใช้ซีแมนทิกส์การจัดการข้อยกเว้นสมัยใหม่

1. ระวังสิ่งที่คุณเข้าสู่ระบบ

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

2. อย่าละเลยข้อยกเว้นที่ถูกโยนทิ้ง

อย่าจับข้อยกเว้นแล้วละเลยมัน การซ่อนข้อยกเว้นไม่ใช่วิธีที่ดีในการจัดการกับข้อยกเว้นใน Java อย่างน้อยที่สุด ให้จดชื่อของข้อยกเว้นและข้อความที่เกี่ยวข้อง ด้วยวิธีนี้ คุณสามารถดูข้อมูลเกี่ยวกับปัญหาได้ในรายการของคุณ การดีบักแอปพลิเคชัน Java เนื่องจากข้อยกเว้นที่ซ่อนอยู่นั้นเป็นเรื่องยากอย่างไม่น่าเชื่อ

3. ใช้ตัวจัดการข้อยกเว้นส่วนกลาง

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

4. อย่าปิดทรัพยากรด้วยตนเอง

คำแนะนำที่สำคัญอีกประการหนึ่งเมื่อจัดการกับข้อยกเว้นของ Java คือการอนุญาตให้ JVM เรียกใช้ เมธอด close()บนทรัพยากรที่กำลังปิดอยู่ อย่าพยายามปิดมันด้วยตัวเอง ซึ่งสามารถทำได้ง่ายๆ โดยการเริ่มต้นทรัพยากรภายใน โมดูล try-resources ความหมาย:
public class TryWithResourcesExample {

public static void main(String[] args) throws Exception {

try (Door door = new Door()) {

door.swing();

} catch (Exception e) { ..... }

} finally { .....}

}

}
ดังที่คุณเห็น หลังจากที่บล็อก try...catch เสร็จสิ้น JVM จะปิดทรัพยากรให้คุณ ขจัดโอกาสที่ทรัพยากรจะรั่วไหลที่ซับซ้อนและแก้ไขได้ยาก

5. โยนก่อนแล้วจัดการข้อยกเว้นในภายหลัง

โยนข้อยกเว้นเมื่อใดก็ตามที่มีเงื่อนไขข้อยกเว้นเกิดขึ้นในรหัสของคุณ อย่ารอให้บรรทัดโค้ดใด ๆ ดำเนินการก่อนที่จะออกจากวิธีการที่คุณอยู่ เมื่อจับข้อยกเว้น จะต้องวางฟังก์ชันไว้ที่ส่วนท้ายของเมธอด ซึ่งจะช่วยลดจำนวนcatch block ในวิธีการของคุณ ทำให้อ่านและบำรุงรักษาโค้ดได้ง่ายขึ้น

6. ข้อยกเว้น Java ไม่ควรถูกบันทึกและเขียนใหม่

หากมีข้อยกเว้นเกิดขึ้น ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้:
  • ทำงานกับโปรแกรมของคุณต่อไปในขณะที่คุณบันทึกข้อยกเว้น
  • โยนข้อยกเว้นอีกครั้งและอนุญาตวิธีอื่นในการบันทึกข้อมูล
อย่ารวมทั้งสองขั้นตอน อย่าบันทึกแล้วสร้างข้อยกเว้นเดียวกันอีกครั้ง ดังที่แสดงในตัวอย่างด้านล่าง:
try {

Class.forName("com.min.Example");

} catch (ClassNotFoundException ex) {

log.warning("Class was not found.");

throw ex;

}
ส่งผลให้เกิดการทำสำเนาโค้ดและไฟล์บันทึกอุดตันด้วยรายการที่ซ้ำกัน ทำให้ยากต่อการวินิจฉัยโค้ดมากขึ้น

7. ตรวจสอบข้อยกเว้นที่ถูกระงับ

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

8. เมื่อใช้คำสั่ง Throw ให้ระบุข้อยกเว้นที่แน่นอน

โดยการใช้คำสั่ง Throw ภายในเนื้อความของวิธีการ นักพัฒนาที่ไม่ระมัดระวังจะใช้คลาสข้อยกเว้นทั่วไป แต่นี่ไม่ใช่วิธีที่ดีที่สุดในการจัดการกับข้อยกเว้นใน Java ให้ระบุข้อยกเว้นที่แน่นอนที่วิธีการนี้อาจเกิดขึ้นแทนเสมอ iIt ช่วยให้นักพัฒนารายอื่นทราบเกี่ยวกับเทคนิคการจัดการข้อผิดพลาดต่างๆ ที่สามารถใช้ได้เมื่อวิธีการบางอย่างไม่ทำงานตามที่คาดไว้

9. จัดการกับข้อยกเว้นที่ชัดเจนที่สุดก่อน

นี่เป็นข้อกำหนดของคอมไพเลอร์มากกว่าคำแนะนำสำหรับแนวทางปฏิบัติในการจัดการข้อยกเว้นของ Java แต่นักพัฒนาควรจัดการข้อยกเว้นที่ชัดเจนที่สุดก่อนเสมอ และข้อยกเว้นที่แน่นอนน้อยที่สุดจะอยู่ท้ายสุด หากไม่ปฏิบัติตามกฎนี้ JVM จะส่งกลับข้อผิดพลาดเวลาคอมไพล์พร้อมข้อความแสดงข้อผิดพลาดที่เป็นความลับมากและเข้าใจยาก ทำให้ชีวิตของคุณในฐานะนักพัฒนาซอฟต์แวร์ง่ายขึ้นโดยจัดการกับข้อยกเว้นบางประการในโค้ดของคุณอยู่เสมอ

10. ใช้ซีแมนทิกส์การจัดการข้อยกเว้นสมัยใหม่

Java มีคุณสมบัติการจัดการข้อผิดพลาดและข้อยกเว้นมากมายที่ทำให้การพัฒนาง่ายขึ้นและลดจำนวนโค้ด Java ลงอย่างมาก ใช้ความสามารถในการจัดการข้อยกเว้นหลายรายการในcatch block เดียว และปิดทรัพยากรโดยอัตโนมัติโดยใช้try block ใช้ Runtime Exceptions เพื่อให้นักพัฒนารายอื่นไม่ต้องจัดการกับข้อยกเว้นที่คุณโยนทิ้ง
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION