นี่คือตัวอย่างเล็กๆ ที่แนะนำการจัดการข้อยกเว้นขั้นพื้นฐาน รวมถึงการขว้าง การจับ การยืนยัน และการบันทึก
การจัดการข้อยกเว้นของ Java ได้รับการจัดการผ่านคีย์เวิร์ดห้าคำ ได้แก่ try, catch, Throw, Throw และสุดท้าย กระบวนการพื้นฐานคือการล้อมคำสั่งที่จะตรวจสอบด้วยบล็อกคำสั่ง try หากมีข้อยกเว้นเกิดขึ้นภายในบล็อกคำสั่ง try ข้อยกเว้นจะถูกส่งออกไป ต่อไปนี้ ข้อยกเว้นบางอย่างที่ระบบสร้างขึ้นจะถูกส่งออกโดยอัตโนมัติเมื่อ Java กำลังทำงาน คุณยังสามารถประกาศวิธีการส่งข้อยกเว้นผ่านคำสำคัญ Throws จากนั้นส่งวัตถุข้อยกเว้นผ่านการ Throw ภายในวิธีการ
คัดลอกรหัสรหัสดังต่อไปนี้:
แพ็คเกจ com.hongyuan.test;
นำเข้า java.io.IOException;
นำเข้า java.util.logging.Level;
นำเข้า java.util.logging.Logger;
ExceptionHandleTest ระดับสาธารณะ {
คงที่{
//เปิดใช้งานการยืนยัน และคลาสที่โหลดโดยตัวโหลดคลาสของระบบจะเปิดใช้งานการยืนยัน
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(จริง);
-
โมฆะคงที่สาธารณะ main (String [] args) {
-
* โยนจับ
-
พยายาม {
TryCatchTest.run(10, -1);
} จับ (IOException จ) {
e.printStackTrace();
-
System.out.println("=========================================== = =========");
//บันทึก
LogerTest.run();
System.out.println("=========================================== = =========");
//ยืนยัน
AssertTest.div(3,0);
-
-
-
* การยืนยัน
-
คลาส AssertTest {
สาธารณะ div คู่คงที่ (int b, int a) {
assert a!=0: "ครูโรงเรียนประถมของคุณรู้ไหมว่าคุณใช้สิ่งนี้";
กลับ (สองเท่า)b/a;
-
-
-
* บันทึก
-
คลาส LogerTest {
ตัวบันทึก Logger แบบคงที่ส่วนตัว = null;
คงที่{
//รับวัตถุบันทึกและกำหนดระดับบันทึก
logger=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(ระดับ.ALL);
-
โมฆะสาธารณะคงทำงาน () {
//ใส่วิธีการ
logger.entering(LogerTest.class.getName(), "เรียกใช้");
//ข้อมูลทั่วไป
logger.info("มารบกวนฉันอีก ฉันบันทึกบัญชีนี้แล้ว!!!");
//เตือน
logger.warning("ฉันเหนื่อยเกินไป ฉันไม่สามารถทำงานนี้ได้!!!");
//จริงจัง
logger.log(Level.SEVERE,"ฉันออกแล้ว!!!^O^");
//วิธีการออก
logger.exiting(LogerTest.class.getName(), "เรียกใช้");
-
-
-
* จับโยน
-
คลาส TryCatchTest {
โมฆะสาธารณะคงทำงาน (int x, int y) พ่น IOException {
ลอง{//จำเป็น
ถ้า(x<0||y<0){
Throw new IllegalArgumentException("ฉันพูดไม่ออก ฉันควรทำยังไงดี!!!");
-
}catch(ข้อยกเว้น e){//เป็นทางเลือก
IOException e1=new IOException("คุณคิดออกเองได้!");
e1.initCause(e.getCause());
โยน e1;
}ในท้ายที่สุด{//เป็นทางเลือก
System.out.println("ในที่สุดพวกเขาก็มีชีวิตที่มีความสุข!!! (จบ)");
-
-
-