ที่มา: สื่อ โพสต์นี้จะช่วยให้คุณเข้าใจวิธีจัดการกับข้อยกเว้นอย่างมีประสิทธิภาพใน Java ได้ดีขึ้น การจัดการกับข้อยกเว้นของ Java อาจเป็นเรื่องที่ท้าทาย อาจเป็นเรื่องยากที่จะพิจารณาว่าข้อยกเว้น Java ใดที่ต้องจัดการ ข้อยกเว้นใดที่ต้องสร้างใหม่ และข้อยกเว้นใดที่ควรละเว้น อย่างไรก็ตาม มีแนวทางที่เป็นประโยชน์หลายประการที่สามารถช่วยคุณจัดการกับข้อยกเว้นและสร้างแอปพลิเคชันใหม่ได้อย่างมีประสิทธิภาพ มาทำความรู้จักกับพวกเขากันดีกว่า
- ระวังสิ่งที่คุณเข้าสู่ระบบ
- อย่าละเลยข้อยกเว้นที่เกิดขึ้น
- ใช้ตัวจัดการข้อยกเว้นส่วนกลาง
- อย่าปิดทรัพยากรด้วยตนเอง
- โยนก่อนแล้วจัดการข้อยกเว้นในภายหลัง
- ข้อยกเว้น Java ไม่ควรถูกบันทึกและเขียนใหม่
- ตรวจสอบข้อยกเว้นที่ถูกระงับ
- ในคำสั่ง Throw ให้ประกาศข้อยกเว้นอย่างแม่นยำ
- จัดการข้อยกเว้นที่ชัดเจนที่สุดก่อน
- ใช้ซีแมนทิกส์การจัดการข้อยกเว้นสมัยใหม่
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;
}
ส่งผลให้เกิดการทำสำเนาโค้ดและไฟล์บันทึกอุดตันด้วยรายการที่ซ้ำกัน ทำให้ยากต่อการวินิจฉัยโค้ดมากขึ้น
GO TO FULL VERSION