Thỉnh thoảng tôi thấy các nhà phát triển sử dụng các thư viện như Precava’s Preconditions để xác nhận hợp lệ các tham số cho các giá trị rỗng trong phần đầu của một phương thức. Làm thế nào là khác với việc nhận NPE trong thời gian chạy vì một ngoại lệ thời gian chạy xảy ra theo một trong hai cách?Làm thế nào để sử dụng thư viện kiểm tra nulls tốt hơn so với nhận NPE?
CHỈNH SỬA: Nếu có lý do chính đáng thì nhà phát triển không nên sử dụng thư viện để kiểm tra null trên tất cả các phương pháp không?
Nó có thể là nếu bạn kiểm tra phía trước bạn đã không thực hiện bất kỳ công việc nào, làm việc mà bạn có thể phải quay trở lại hoặc để lại trong một trạng thái không nhất quán là một NPE được ném vào giữa công việc nói? –
Ngoài ra, bạn có thể ném một ngoại lệ với ít nhất một số thông báo có ý nghĩa cho người dùng (ít nhất là tốt hơn nhiều so với một NullPointerException) –
tham số null không luôn luôn dẫn đến NPE ngay lập tức. Ví dụ, nó có thể được đưa vào một số lĩnh vực hoặc bộ sưu tập và dẫn đến các lỗi khó điều tra –