exception和error的区别
exception和error都继承自Throwable,在Java中只有Throwable类型的实例才可以被抛出和捕获。
error指正常情况下不太可能出现的情况,绝大部分的error或导致程序崩溃,处于非正常的不可恢复的状态。
如OutOfMemoryError、StackOverflowError。
是程序中不应该试图捕获的严重错误
exception是程序正常运行中可以预料的意外情况,可以捕获并处理。
运行时异常和一般异常的区别
受检查异常:在编译时被强制检查的异常。在方法的声明中声明的异常。
如classNotFoundException、IOException
不受检查的异常:不受检查的异常通常是在编码中可以避免的逻辑错误,根据需求来判断如何处理,不需要再编译期强制要求。
几种常见的运行时异常
运行时异常RuntimeException是所有不受检查异常的基类
NullPointException、ClassCastException、NumberFormatException、IndexOutOfBoundsException