1 什么是异常:
异常指的是导致程序中断执行的一种指令流。
2 牛客面试题:知道异常吗,将你知道的异常写出来(这个我把异常的整个体系画出来了,然后我自觉的将error和Exception区别讲了一下),说说常见的RuntimeException
从图中可以看出来:
处理异常的最大类型是Java.lang包中的Throwable类;它提供了两个子类:
Error和RuntimeException属于Unchecked Exception(非检查异常);
try catch语句捕获多个异常时,如有诸如上述的继承关系,子类异常在前,父类的在后捕获。
(1)Error:jvm中出现不可恢复的错误,如堆内存溢出等,程序是没有处理机会的。
(2)运行时异常(RuntimeException):属于非检查异常,java编译器忽略其抛出和检查,当在加载运行后,出现的异常;常见有:ArrayIndexOutofException、NumberFormatException、NullPointerException、ClassCastException、ClassNotFoundException等。
(3)非运行时异常:也叫可处理异常,程序编译时,就提示的异常。如:自定义异常、IOException、SQLException、FileNotFoundException等。
4)自定义异常示例:自定义异常根据需求使用throw关键字引发异常。