始める無料で始める

エラーを修正する

Java の世界では、エラーは深刻な問題です。環境要因など自分では制御できない理由で発生することもあれば、私たちが書いた不適切なコードが 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);
		}
	}
}
コードを編集して実行