异常的基本分类:
Java 常见的异常及其分类:
1.Java中什么是Exception:
Exception是JAVA异常类,Exception是Throwable的子类,Exception分为检查型异常和非检查型异常
2.Java中的检查型异常和非检查型异常有什么区别:
检查型异常需要使用try, catch和finally关键字在编译期进行处理,否则会出现编译,非检查型异常则不需要这样做,可以让虚拟机来管理
3. Error 和 Exception 区别是什么:
Error 类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,JAVA 应用程序也不应对这类错误进行捕获,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复
Exception 类的错误是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用4程序可以继续正常运行
4.throws 关键字和 throw 关键字的区别 :
throw:
1)throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。
2)throw 是具体向外抛出异常的动作,所以它抛出的一定是一个异常实例,执行throw一定是抛出了某种异常throws:
1)throws 语句时用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。
2)throws 主要是声明这个方法会抛出某种类型的异常,让它的调用者要知道需要捕获的异常的类型。
3)throws 表示表现出现异常的一种可能性,并不一定会发生这种异常
5.try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
1、finally中的代码总会被执行。
2、当try、catch中有return时,也会执行finally。return的时候,要注意返回值的类型,是否受到finally中代码的影响。
3、finally中有return时,会直接在finally中退出,导致try、catch中的return失效。
6.、如何自定义一个异常
继承一个异常类,通常是继承RumtimeException或者Exception