开始使用免费开始使用

修复一个错误

在 Java 中,Error 表示严重问题。有时它们由我们无法控制的环境问题引起;也有时是我们写了不当的代码而触发了 Error。在本练习中,您将先观察、再修正一个永远不会终止并导致 Error(具体为 StackOverflowError)的应用程序。亲眼看到 Error 能帮助您在将来更快识别。与异常不同,错误无法通过 try-catch 或 throws 来处理。

本练习是课程的一部分

Java 的数据类型与异常

查看课程

练习说明

  • 直接运行示例代码,其中 cycles 的值从不改变,导致调用出现无限循环,使应用程序失败并产生 StackOverflowError
  • 看到 StackOverflowError 后,在调用 doWork 时为 cycles 加上 + 1,让 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);
		}
	}
}
编辑并运行代码