1.error 和Exception的区别?
error是系统中的错误,程序员不能处理,在这种情况下应用程序只能中止运行 。在编译时出现的,只能通过修改程序才能修正。 一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。
Exception表示程序可以处理的异常,可以捕获且可能恢复。
2. RuntimeException 和Exception的区别?
Exception是应用层面上最顶层的异常类,包含RuntimeException 和CheckedException。
RuntimeException是不受查异常,不需要捕获也不必抛出。一般来说,RuntimeException发生的时候,表示程序中出现了编程错误,所以应该找出错误修改程序,而不是去捕获RuntimeException。
CheckedException是相对于UncheckedException来说的,所有继承于Exception但非RuntimeException的异常都是CheckedException。必须对CheckedException作出处理,要么抛出,要么捕获。否则不能通过编译。
3.写出你常见的5种异常
常见的RuntimeException异常
illegalArgumentException:此异常表明向方法传递了一个不合法或不正确的参数。
NullpointerException:空指针异常
IndexOutOfBoundsException:索引超出边界异常
常见的CheckedException异常
EOFException 当输入过程中意外到达文件或流的末尾时,抛出此异常。
FileNotFoundException 找不到文件异常