Java - 何时是编译器错误,何时是运行时异常?

Mic*_*ael 4 java scjp compilation exception

我目前正在使用Sierra和Bates学习指南学习SCJP认证,并且在许多自我测试(模拟考试问题)中我一直遇到同样的问题 - 我无法判断特定错误是否会在运行时(一个异常)或编译时(编译错误).我知道这是一个模糊的问题而且可能无法回答但是,如何在编译或运行时发现错误?你能给我发一些可以帮助我的网站链接吗?

And*_*s_D 9

编译时错误 - java编译器无法编译代码,通常是因为语法错误.典型候选人:

  • 缺少括号
  • 缺少分号
  • 访问其他类中的私有字段
  • 类路径上缺少类(在编译时)

运行时错误 - 代码确实编译,可以执行但在某些时候崩溃,就像你有一个除零.

  • 使用实际的变量null(可能导致NullPointerException)
  • 在数组上使用非法索引
  • 访问当前不可用的资源(丢失文件,...)
  • 类路径上缺少类(在运行时)

('崩溃'实际上不是正确的术语,仅用于说明会发生什么)