Mục lục:
- Cụm từ "xử lý lỗi tùy chọn" là một sự nhầm lẫn. Đó là tùy chọn chỉ vì Java không yêu cầu bạn thực hiện nó như là một phần của việc sử dụng các đối tượng khác nhau trong ứng dụng của bạn. Mỗi ứng dụng bạn xây dựng nên bao gồm một số mức xử lý lỗi, ngay cả khi Java không yêu cầu bạn thêm nó.
- Ngoài ra, bạn có thể sử dụng trình xử lý ngoại lệ chung cho những tình huống đó khi ứng dụng của bạn gặp lỗi không nằm trong bộ mà bạn đã tiên đoán.
- Đôi khi bạn mong đợi để có một giá trị null xảy ra và cần một số phương pháp để đối phó với nó. Ví dụ, hãy xem xét tình huống mà bạn muốn tìm một giá trị cụ thể trong một danh sách các giá trị tiềm năng. Hoàn toàn có thể là bạn sẽ không tìm thấy giá trị bạn muốn, kết quả là trả về giá trị null.
Video: Hướng dẫn sửa lỗi Java khi không nộp được tờ khai thuế qua mạng mới nhất 2019 2025
Nhiều ví dụ về mã Java mà bạn tìm thấy cho các mục đích học tập sẽ bao gồm lỗi mắc kẹt trong đó. Các ví dụ sẽ không chôn bạn trong lỗi bẫy, nhưng họ sẽ thực hiện các kỹ thuật bẫy lỗi tốt một phần của mã ứng dụng bất cứ khi nào có thể (và mã bẫy lỗi không hoàn toàn giấu mục đích của ví dụ). Với điều này trong tâm trí, các phần sau đây cung cấp tổng quan về các kỹ thuật được sử dụng để bắt lỗi. Bạn sẽ thấy ba mức bẫy lỗi khác nhau thường được sử dụng trong các ứng dụng Java.
là hành động phát hiện một ngoại lệ và nói với JRE rằng bạn định làm điều gì đó với nó. JRE đáp ứng bằng cách không truyền lỗi cho người gọi phương thức hiện tại và thay vào đó dựa vào phương pháp hiện tại để khắc phục sự cố. Bẫy lỗi thường được liên kết với phần cố gắng của câu lệnh try … catch, trong khi xử lý lỗi thường được liên kết với phần catch của câu lệnh try … catch.
Cụm từ "xử lý lỗi tùy chọn" là một sự nhầm lẫn. Đó là tùy chọn chỉ vì Java không yêu cầu bạn thực hiện nó như là một phần của việc sử dụng các đối tượng khác nhau trong ứng dụng của bạn. Mỗi ứng dụng bạn xây dựng nên bao gồm một số mức xử lý lỗi, ngay cả khi Java không yêu cầu bạn thêm nó.
Lỗi xử lý
là hành động giải quyết một ngoại lệ mà ứng dụng đã bị mắc kẹt. Trong một số trường hợp, xử lý lỗi có nghĩa là hiển thị một thông báo cho người dùng và yêu cầu sửa chữa. Tuy nhiên, xử lý lỗi có thể có nhiều hình thức, một số trong số chúng hoàn toàn tự động và vô hình cho người dùng. Hành động này thường liên quan đến phần bắt của câu lệnh try … catch.
Ngoài ra, bạn có thể sử dụng trình xử lý ngoại lệ chung cho những tình huống đó khi ứng dụng của bạn gặp lỗi không nằm trong bộ mà bạn đã tiên đoán.
Trong tất cả các ngoại lệ bạn có thể thấy khi làm việc với Java, NullPointerException (hoặc NPE) là một trong những điều phổ biến nhất và đôi khi là điều khó nhất để chẩn đoán. Một NullPointerException xảy ra bất cứ lúc nào bạn vượt qua một giá trị null đến một hàm Java đã mong đợi một giá trị thực. Vấn đề là không phải mọi tình huống tạo ra một NPE thực sự là một vấn đề.
Đôi khi bạn mong đợi để có một giá trị null xảy ra và cần một số phương pháp để đối phó với nó. Ví dụ, hãy xem xét tình huống mà bạn muốn tìm một giá trị cụ thể trong một danh sách các giá trị tiềm năng. Hoàn toàn có thể là bạn sẽ không tìm thấy giá trị bạn muốn, kết quả là trả về giá trị null.
Nếu bạn cố gắng để xử lý các giá trị null, bạn sẽ có được một NPE. Bởi vì bạn đã mong đợi các giá trị null xảy ra, việc tìm kiếm lỗi có thể rất khó khăn.
Cho đến nay, rất khó để các nhà phát triển con người hiểu được tư duy đen trắng của máy tính. Java 8 bây giờ cung cấp các đối tượng Tùy chọn để đối phó với tình huống mà một giá trị trả về từ một chức năng là tùy chọn chứ không phải là yêu cầu.