Виправлення помилки
Помилки (Errors) — це серйозні проблеми у світі Java. Іноді вони виникають через зовнішні чинники, які не під нашим контролем. Інколи ми самі пишемо некоректний код, що призводить до Error. У цій вправі ви спочатку спостерігатимете, а потім виправите застосунок, який ніколи не завершується і спричиняє Error (зокрема StackOverflowError). Побачивши Error, ви зможете легше розпізнавати їх надалі. На відміну від винятків (exceptions), помилки не можна опрацьовувати за допомогою 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);
}
}
}