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  

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