Error:是程序自身无法处理的问题(一般是JVM运行不下去)(出现会影响整个程序运行)
例如:内存溢出OutOfMemory (大量的创建对象或者内存泄漏等)
RunTimeException: 编译器不检查,一般是程序逻辑错误引起的(出现影响整个程序运行)
例如:空指针(NullPointerException)数组越界(ArrayIndexOutOfBoundException)等
(个人理解)访问空指针或者野指针是非常危险的,所以程序出于安全会停止运行
非运行Exception:编译过程中必须进行处理的异常(因为是可能出现的可预料的问题),将异常抛出后交给异常处理器处理(出现不影响整个程序运行)
例如:IOException