Sự khác biệt giữa ClassNotFoundException
và NoClassDefFoundError
trong Java là gì?
Sự khác biệt giữa ClassNotFoundException
và NoClassDefFoundError
trong Java là gì?
Trong Java, ClassNotFoundException
và NoClassDefFoundError
đều liên quan đến các vấn đề không tìm thấy lớp, nhưng chúng được ném ra trong các tình huống khác nhau và có nguyên nhân khác nhau:
ClassNotFoundException
là một ngoại lệ được kiểm tra (checked exception) mà được ném ra khi một ứng dụng cố gắng tải một lớp thông qua tên của nó sử dụng một số phương thức như Class.forName()
, ClassLoader.loadClass()
hoặc ClassLoader.findSystemClass()
, nhưng không thể tìm thấy lớp đó trong classpath.ClassNotFoundException
cần phải được xử lý (catch) hoặc khai báo ném ra (throws) trong mã nguồn.NoClassDefFoundError
là một lỗi (Error) không được kiểm tra (unchecked) mà xảy ra khi JVM hoặc ClassLoader cố gắng tải một lớp nhưng không tìm thấy định nghĩa của lớp đó trong classpath tại thời điểm chạy (...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào