×

Cách xử lý ngoại lệ (Exception) trong Java?

Trong Java, xử lý ngoại lệ (exception handling) là một cơ chế quan trọng giúp quản lý các lỗi chạy thời gian và duy trì sự ổn định của ứng dụng. Ngoại lệ là những sự kiện bất thường có thể phát sinh trong quá trình thực thi chương trình và làm gián đoạn luồng thực thi bình thường của nó. Java sử dụng một số khối try, catch, finally, và throws để xử lý ngoại lệ.

Cách Xử Lý Ngoại Lệ:

  1. Try-Catch: Bắt và xử lý ngoại lệ.

    • Try: Khối mã có thể phát sinh ngoại lệ được đặt trong khối try.
    • Catch: Khi ngoại lệ phát sinh, khối catch tương ứng được thực thi. Có thể có nhiều khối catch để xử lý các loại ngoại lệ khác nhau.
      try {
          // Mã có thể phát sinh ngoại lệ
      } catch (ExceptionType name) {
          // Xử lý ngoại lệ
      }
      
  2. Finally: Luôn được thực thi sau khi thử xử lý ngoại lệ, không kể ngoại lệ có được bắt hay không.
    try {
        // Mã có thể phát sinh ngoại lệ
    } catch (ExceptionType e) {
        // Xử lý ngoại lệ
    } finally {
        // Mã được thực thi sau cùng
    }
  3. Throws: Được sử dụng để tuyên bố rằng một phương thức có thể phát sinh một hoặc nhiều ngoại lệ. Ngoại lệ này phải được xử lý bằng cách sử dụng try-catch hoặc được lan truyền ra bên ngoài bằng cách sử dụng throws ở phương thức gọi.
    public void myMethod() throws IOException {
        // Mã có thể phát sinh IOException
    }
  4. Throw: Dùng để phát sinh một ngoại lệ cụ thể.
    throw new SomeException("This is an error message");

Lưu ý:

  • Khi xử lý ngoại lệ, nên cố gắng xử lý chính xác và cụ thể ngoại lệ nào có thể xảy ra, thay vì sử dụng một khối catch chung chung cho Exception hay Throwable.
  • Nên viết mã dọn dẹp tài nguyên trong khối finally hoặc sử dụng try-with-resources từ Java 7 trở lên, để đảm bảo tài nguyên (như luồng nhập/xuất) được đóng cửa đúng cách.

Xử lý ngoại lệ giúp tạo ra các ứng dụng Java đáng tin cậy hơn, có thể phục hồi từ các sự cố và tiếp tục chạy một cách ổn định.

Comments