Biệt lệ trong Java là những sự kiện xảy ra khi có trạng thái không mong muốn trong chương trình, gây ngắt luồng thực hiện bình thường. Có hai loại biệt lệ: kiểm duyệt (checked) và không kiểm duyệt (unchecked), với cách xử lý khác nhau, bao gồm việc sử dụng khối try-catch và câu lệnh throw để quản lý. Người lập trình cũng có thể tự định nghĩa biệt lệ bằng cách tạo lớp kế thừa từ các lớp biệt lệ có sẵn.