Sửa một lỗi
Errors là các vấn đề nghiêm trọng trong thế giới Java. Đôi khi chúng xuất hiện do các vấn đề môi trường nằm ngoài tầm kiểm soát của chúng ta. Những lúc khác, chúng ta có thể viết mã kém gây ra một Error. Trong bài tập này, bạn sẽ quan sát rồi sửa một ứng dụng không bao giờ kết thúc và dẫn đến một Error (cụ thể là StackOverflowError). Việc thấy một Error sẽ giúp bạn nhận diện chúng trong tương lai. Khác với exceptions, errors không thể được xử lý bằng try-catch hay throws.
Bài tập này là một phần của khóa học
Kiểu dữ liệu và Exceptions trong Java
Hướng dẫn bài tập
- Chạy Mã mẫu như hiện tại, trong đó giá trị
cycleskhông bao giờ thay đổi, dẫn đến vòng lặp gọi vô hạn và làm ứng dụng hỏng, tạo raStackOverflowError. - Sau khi thấy
StackOverflowError, thêm+ 1vàocyclestrong lời gọidoWork, khiến giá trị cycles thay đổi để dừng vòng lặp vô hạn. - Chạy lại mã để thấy ứng dụng chạy thành công và tránh được
StackOverflowError.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
public class ErrorGeneration {
public static void main(String[] args) {
System.out.println("Started the work");
doWork(0);
System.out.println("Work complete");
}
public static void doWork(int cycles) {
if (cycles < 10) {
// Add +1 to cycles after running
doWork(cycles);
}
}
}