Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Chạy Mã mẫu như hiện tại, trong đó giá trị cycles khô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 ra StackOverflowError.
  • Sau khi thấy StackOverflowError, thêm + 1 vào cycles trong lời gọi doWork, 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);
		}
	}
}
Chỉnh sửa và Chạy Mã