Skip to content
目录概览

请说说编译期异常和运行期异常的区别?

  • 编译时异常 程序正确,但因为外在的环境条件不满足引发。对商用软件系统,程序开发者必须考虑并处理这类异常。Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。
  • 运行期异常 这意味着程序存在bug,如数组越界,0被除,传入参数不满足规则等,这类异常需要更改程序来避免,java编译器强制要求处理这类异常。
  • 错误 一般很少见,也很难通过程序解决。它可能源于程序的bug,但一般更可能源于环境问题,如内存耗尽。错误在程序中无须处理,而由运行环境处理。