НачатьНачать бесплатно

Исправление ошибки

В мире Java ошибки (Error) — это серьёзные проблемы. Иногда они возникают из-за внешних факторов, не зависящих от нас. Но порой их причиной становится некорректный код. В этом упражнении вы сначала наблюдаете за работой приложения, которое никогда не завершится и вызовет ошибку Error (а именно — StackOverflowError), а затем исправите её. Это поможет вам распознавать подобные ошибки в будущем. В отличие от исключений, ошибки нельзя обработать с помощью блоков try-catch или ключевого слова throws.

Это упражнение является частью курса

Типы данных и исключения в Java

Посмотреть курс

Инструкции к упражнению

  • Запустите исходный код без изменений: значение cycles не меняется, что приводит к бесконечному циклу вызовов, сбою приложения и возникновению ошибки StackOverflowError.
  • После того как увидите StackOverflowError, добавьте + 1 к cycles в вызове doWork — это изменит значение cycles и прервёт бесконечный цикл.
  • Снова запустите код и убедитесь, что приложение успешно завершает работу без ошибки StackOverflowError.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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);
		}
	}
}
Редактировать и запускать код