Error和Exception的区别:

Error:错误,一般是指程序或者虚拟机之类产生的无法依靠修改代码能够解决的问题,例如虚拟机无法正常运行等等。

典型的两个Error

1) OutofMemoryError

2) StackOverflowError

Exception:异常,与Error最大的区别是,Exception能够依靠修复代码的错误而避免重复的问题,而Error不能。

Exception大致有以下几种:

RuntimeException (运行时异常) 不需要try catch

NullPointerException

StringIndexOutofBounds

ArrayIndexOutofBounds

ClassCastException

CheckedException(检查异常)

IOException

FileNotfoundException

InterruptedException


运行时异常:

不需要try catch

解决方案:通过预先判断,规避掉问题的产生

检查异常:

必须try catch

提示开发者写出更健壮稳定的代码