Исправление ошибки
В мире 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);
}
}
}