오류 고치기
Java에서 Error는 매우 심각한 문제입니다. 때로는 우리 통제를 벗어난 환경적 요인으로 인해 발생하고, 다른 때에는 잘못된 코드로 인해 Error가 생길 수 있어요. 이 연습에서는 종료되지 않고 Error(정확히는 StackOverflowError)를 일으키는 애플리케이션을 먼저 관찰한 뒤 수정해 보겠습니다. 실제로 Error를 보면 앞으로 식별하는 데 도움이 돼요. 예외와 달리, 에러는 try-catch나 throws로 처리할 수 없습니다.
이 연습은 강의의 일부입니다
Java의 데이터 타입과 예외
연습 안내
cycles값이 전혀 바뀌지 않는 샘플 코드를 그대로 실행하세요. 이로 인해 호출이 무한 루프로 이어져 애플리케이션이 실패하고StackOverflowError가 발생합니다.StackOverflowError를 확인한 후,doWork호출에서cycles에+ 1을 더해 값이 변하도록 하세요. 이렇게 하면 호출의 무한 루프가 멈춥니다.- 코드를 다시 실행해 애플리케이션이 정상적으로 동작하고
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);
}
}
}