JavaRush /Blog Java /Random-VI /Nghỉ giải lao #158. 10 mẹo xử lý ngoại lệ trong Java

Nghỉ giải lao #158. 10 mẹo xử lý ngoại lệ trong Java

Xuất bản trong nhóm
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. Nghỉ giải lao #158.  10 mẹo xử lý ngoại lệ trong Java - 1Xử 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ọ.
  1. Hãy cẩn thận những gì bạn đăng nhập.
  2. Đừng bỏ qua các ngoại lệ được ném ra.
  3. Sử dụng trình xử lý ngoại lệ toàn cầu.
  4. Đừng đóng tài nguyên theo cách thủ công.
  5. Ném sớm và xử lý các trường hợp ngoại lệ sau.
  6. Các ngoại lệ Java không nên được ghi lại và truy xuất lại.
  7. Kiểm tra các ngoại lệ bị loại bỏ.
  8. Trong câu lệnh ném, hãy khai báo chính xác các ngoại lệ.
  9. Xử lý ngoại lệ rõ ràng nhất trước tiên.
  10. 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.
Không kết hợp cả hai giai đoạn. Không bao giờ đăng nhập và sau đó lấy lại cùng một ngoại lệ, như trong ví dụ bên dưới:
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.

7. Kiểm tra các ngoại lệ bị loại bỏ

Ngoại lệ bị loại bỏ là một tính năng ngôn ngữ mới mà không phải nhà phát triển nào cũng biết đến. Bằng cách triển khai một phương pháp đã được chứng minh bằng tài nguyên, hai trường hợp ngoại lệ có thể được đưa ra cùng một lúc. Điều kiện này có thể được kiểm tra dễ dàng bằng cách truy vấn sự hiện diện của một ngoại lệ bị loại bỏ. Cách duy nhất để xác định xem tình trạng này có xảy ra hay không là xem ngoại lệ đích có chứa ngoại lệ bị chặn hay không.

8. Khi sử dụng câu lệnh ném, hãy chỉ định chính xác các ngoại lệ

Bằng cách sử dụng câu lệnh ném bên trong phần thân phương thức, nhà phát triển bất cẩn sẽ sử dụng một lớp ngoại lệ chung. Nhưng đây không phải là cách tốt nhất để xử lý các ngoại lệ trong Java. Thay vào đó, hãy luôn chỉ định chính xác các ngoại lệ mà phương thức có thể đưa ra. iIt giúp các nhà phát triển khác biết về các kỹ thuật xử lý lỗi khác nhau có thể được sử dụng khi một phương pháp nhất định không hoạt động như mong đợi.

9. Xử lý ngoại lệ rõ ràng nhất trước tiên

Đây giống như một yêu cầu về trình biên dịch hơn là một mẹo thực hành xử lý ngoại lệ Java, nhưng nhà phát triển phải luôn xử lý ngoại lệ rõ ràng nhất trước và ngoại lệ ít chắc chắn nhất sau cùng. Nếu quy tắc này không được tuân theo, JVM sẽ trả về lỗi thời gian biên dịch với thông báo lỗi rất khó hiểu và khó hiểu. Làm cho cuộc sống của bạn với tư cách là nhà phát triển phần mềm trở nên dễ dàng hơn bằng cách luôn xử lý một số trường hợp ngoại lệ nhất định trong mã của bạn.

10. Sử dụng ngữ nghĩa xử lý ngoại lệ hiện đại

Java cung cấp nhiều tính năng xử lý lỗi và ngoại lệ giúp đơn giản hóa việc phát triển và giảm đáng kể số lượng mã Java. Sử dụng khả năng xử lý nhiều ngoại lệ trong một khối bắt duy nhất và tự động đóng tài nguyên bằng khối thử . Sử dụng Ngoại lệ thời gian chạy để các nhà phát triển khác không phải xử lý các ngoại lệ mà bạn đưa ra.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION