StackOverflowErrorStackOverflowError
Call stack đã vượt quá kích thước tối đa, thường do đệ quy sâu hoặc vô hạn.
Nguyên nhân gây ra lỗi này
Một phương thức gọi đệ quy chính nó mà không có base case đúng, hoặc đệ quy lẫn nhau giữa các phương thức tạo ra vòng lặp vô hạn. Mỗi lần gọi phương thức tiêu thụ stack space cho đến khi đạt giới hạn.
Cách sửa
Thêm hoặc sửa base case trong phương thức đệ quy. Chuyển đệ quy thành vòng lặp. Tăng kích thước stack bằng flag JVM -Xss. Kiểm tra đệ quy vô hạn không chủ ý trong constructor hoặc phương thức toString.
Ví dụ
void recurse() { recurse(); }Mã lỗi liên quan
NoClassDefFoundErrorNoClassDefFoundError
Một class được tìm thấy tại thời điểm biên dịch nhưng không thể tải lúc runtime.
DirectoryNotEmptyExceptionDirectoryNotEmptyException
Xóa thư mục thất bại vì thư mục không rỗng.
IOExceptionIOException
Một thao tác I/O thất bại hoặc bị gián đoạn.
InvalidClassExceptionInvalidClassException
Một class đã tuần tự hóa có phiên bản không tương thích hoặc định dạng không hợp lệ.
IllegalArgumentExceptionIllegalArgumentException
Một phương thức nhận đối số không hợp lệ cho phạm vi hoặc định dạng dự kiến.
ConcurrentModificationExceptionConcurrentModificationException
Một collection bị sửa đổi trong khi đang được duyệt.