Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีจัดการ Runtime Exception ใน Java

Runtime Exception เป็น parent class ของ exceptions ทั้งหมดใน Java programming language ที่คาดว่าจะ crash หรือทำให้โปรแกรม/แอปพลิเคชันหยุดทำงานเมื่อเกิดขึ้น ไม่เหมือน exceptions ที่ไม่ถือว่าเป็น Runtime Exceptions, Runtime Exceptions ไม่มีการตรวจสอบ (never checked) เวลา compile

Runtime Exception ปกติแสดง programmer's error มากกว่า condition ที่โปรแกรมคาดว่าจะต้องจัดการ Runtime Exceptions ยังใช้เมื่อเงื่อนไขที่ไม่ควรเกิดขึ้น ควรสังเกตว่าเมื่อโปรแกรมหมดหน่วยความจำ program error จะถูกโยนแทนที่จะแสดงเป็น Runtime Exception

Runtime Exceptions ที่พบบ่อยที่สุดคือ NullPointerException, ArrayIndexOutOfBoundsException และ InvalidArgumentException Java Virtual Machine โยนสองตัวแรก

  • NullPointerException เป็น exception ที่ JVM โยนเมื่อ user ทำ operation บน object ที่ถือว่าเป็น null หรือเรียกเมธอดบน null object User ไม่ควรพยายามจัดการ exception ประเภทนี้ เพราะจะแค่ patch ปัญหา ไม่ได้ fix อย่างสมบูรณ์
  • ArrayIndexOutOfBoundsException เป็น exception ที่ Java Runtime Environment โยนโดยอัตโนมัติเมื่อโปรแกรม Java พยายามเข้าถึงตำแหน่งใน array ที่ไม่มีอยู่จริง บ่อยครั้งเกิดเมื่อ array index ที่ขอเป็น negative หรือมากกว่าหรือเท่ากับขนาดของ array Java arrays ใช้ zero-based indexing ดังนั้น element แรกมี index 0 element สุดท้ายมี index size-1 และ element ที่ n มี index n-1
  • InvalidArgumentException เป็น exception ที่เกิดเมื่อส่ง invalid parameter ไปยังเมธอดบน server's referenced connection

ตัวอย่าง

public class MyExceptionTest {
    public void testRuntimeException () {
        throw new MyException();
    }
    public static void main(String[] args) {
        try {
            new MyExceptionTest().testRuntimeException();
        } catch(Exception e) {
            System.out.println(e.getClass().getName());
        }
    }
}
class MyException extends RuntimeException {
    public MyException() {
        super();
    }
}

ผลลัพธ์

MyException