시작하기무료로 시작하기

오류 고치기

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);
		}
	}
}
코드 편집 및 실행