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

มี Empty Catch Block ใน Java ได้หรือไม่

ได้ สามารถมี Empty Catch Block ได้ แต่เป็น Bad Practice (ปฏิบัติไม่ดี) ใน Java

โดยทั่วไป Try Block มีโค้ดที่อาจเกิด Exception (หารศูนย์, ไฟล์ไม่เจอ, เป็นต้น) Catch Block จับและจัดการ Exception หากว่างเปล่า จะไม่รู้ว่าเกิดอะไรขึ้น ทำให้ Debugging ยาก

ตัวอย่าง: Empty Catch Block (ไม่แนะนำ)


public class EmptyCatchBlockTest {
    public static void main(String[] args) {
        try {
            int a = 4, b = 0;
            int c = a / b; // ArithmeticException
        } catch (ArithmeticException ae) {
            // Empty catch block - ไม่ทำอะไรเลย
        }
    }
}

ผลลัพธ์

// ไม่มี Output ใดๆ - Exception ถูกกลืนทิ้ง

แนวทางที่ดี: ต้องมีการจัดการใน Catch Block อย่างน้อย Log/Pprint Stack Trace


} catch (ArithmeticException ae) {
    System.err.println("Error: " + ae.getMessage());
    ae.printStackTrace(); // หรือ log ไว้
}

Multi-catch (Java 7+): จับหลาย Exception ได้ใน Catch เดียว catch (IOException | SQLException e)