Nguồn: Medium Bài đăng này sẽ giúp bạn hiểu rõ hơn về cách xử lý các ngoại lệ hiệu quả trong Java. Xử lý các ngoại lệ Java có thể là một thách thức. Có thể khó xác định ngoại lệ Java nào cần xử lý, ngoại lệ nào cần lấy lại và ngoại lệ nào cần bỏ qua. Tuy nhiên, có một số hướng dẫn hữu ích có thể giúp bạn xử lý các trường hợp ngoại lệ và tạo ứng dụng mới một cách hiệu quả. Hãy làm quen với họ.
- Hãy cẩn thận những gì bạn đăng nhập.
- Đừng bỏ qua các ngoại lệ được ném ra.
- Sử dụng trình xử lý ngoại lệ toàn cầu.
- Đừng đóng tài nguyên theo cách thủ công.
- Ném sớm và xử lý các trường hợp ngoại lệ sau.
- Các ngoại lệ Java không nên được ghi lại và truy xuất lại.
- Kiểm tra các ngoại lệ bị loại bỏ.
- Trong câu lệnh ném, hãy khai báo chính xác các ngoại lệ.
- Xử lý ngoại lệ rõ ràng nhất trước tiên.
- Sử dụng ngữ nghĩa xử lý ngoại lệ hiện đại.
1. Hãy cẩn thận với những gì bạn đăng nhập
Các nhà phát triển phần mềm phải luôn nhận thức được quyền bảo mật và quyền riêng tư của khách hàng.- Một chương trình Java có thể di chuyển dữ liệu sang các hệ thống khác và một số lượng lớn các nhà phát triển và quản trị viên có thể làm việc với nó (bao gồm cả việc sửa lỗi).
- Nếu bất kỳ dữ liệu nhạy cảm nào được ghi lại trong tệp nhật ký, công ty của bạn sẽ không tuân thủ các yêu cầu bảo mật và bạn có thể mất việc.
2. Đừng bỏ qua các ngoại lệ được ném ra
Đừng bắt một ngoại lệ và sau đó bỏ qua nó. Ẩn các ngoại lệ không phải là cách hay để xử lý chúng trong Java. Ở mức tối thiểu, hãy viết ra tên của ngoại lệ và thông báo liên quan. Bằng cách này, thông tin về sự cố có thể được tìm thấy trong mục nhập của bạn. Việc gỡ lỗi các ứng dụng Java do các ngoại lệ ẩn là vô cùng khó khăn.3. Sử dụng trình xử lý ngoại lệ chung
Trong quá trình thực thi chương trình sẽ luôn có một số ngoại lệ mà trước đó mã của bạn chưa có. Do đó, hãy luôn thêm trình xử lý ngoại lệ chung để xử lý các ngoại lệ chưa được phát hiện. Điều này không chỉ cho phép ghi lại và xử lý ngoại lệ mà còn ngăn ứng dụng gặp sự cố nếu ngoại lệ được đưa ra trong thời gian chạy.4. Không đóng tài nguyên theo cách thủ công
Một khuyến nghị quan trọng khác khi xử lý các ngoại lệ Java là cho phép JVM gọi phương thức close() trên các tài nguyên đang bị đóng. Đừng cố gắng tự đóng chúng lại. Điều này có thể dễ dàng đạt được bằng cách khởi tạo các tài nguyên bên trong mô-đun try-resources . Ngữ nghĩa:public class TryWithResourcesExample {
public static void main(String[] args) throws Exception {
try (Door door = new Door()) {
door.swing();
} catch (Exception e) { ..... }
} finally { .....}
}
}
Như bạn có thể thấy, sau khi khối try...catch hoàn thành, JVM sẽ đóng tài nguyên cho bạn, loại bỏ khả năng rò rỉ tài nguyên phức tạp và khó khắc phục.
5. Ném sớm và xử lý ngoại lệ sau
Ném một ngoại lệ bất cứ khi nào một điều kiện ngoại lệ xảy ra trong mã của bạn. Đừng đợi bất kỳ dòng mã nào thực thi trước khi thoát khỏi phương thức bạn đang sử dụng. Khi bắt ngoại lệ, hàm phải được đặt ở cuối phương thức. Điều này làm giảm số lượng khối bắt trong các phương thức của bạn, giúp mã của bạn dễ đọc và bảo trì hơn.6. Các ngoại lệ Java không nên được ghi lại và truy xuất lại
Nếu xảy ra ngoại lệ, hãy thực hiện một trong các thao tác sau:- Tiếp tục làm việc với chương trình của bạn trong khi bạn ghi lại ngoại lệ.
- Ném lại ngoại lệ và cho phép một cách ghi dữ liệu khác.
try {
Class.forName("com.min.Example");
} catch (ClassNotFoundException ex) {
log.warning("Class was not found.");
throw ex;
}
Điều này dẫn đến việc sao chép mã và các tệp nhật ký bị tắc do các mục nhập trùng lặp, khiến việc chẩn đoán mã trở nên khó khăn hơn nhiều.
GO TO FULL VERSION