throws称为异常的声明
作用
自动抛出异常,最终导致程序停止
当我们的方法在定义出来之后,是被调用者进行调用的,告诉调用者我可能会出现类型转换异常ParseException ,这时调用者可以选着try...catch自己捕获处理,当然还可以继续,往外抛出,这种意味着谁都没有解决,如果格式正确,不会出现任何问题,一旦格式不对,会看原方法中有没有对这个问题进行捕获处理,没有的话,这时会继续调用者里面看,调用者也没有处理,调用者的最顶层就是main方法,main方法也没有处理异常方式,最终交给了jvm,jvm里面也没有,jvm就会把程序终止
Throw和throws的区别(面试题)
throws
是异常的声明,放在定义的最后面,后面可以跟多个异常,代码可能出现问题,也可能不出现问题
throw
是有且只能抛出具体的一个异常对象,代码一旦运行到throw就会停止运行,throw后面不允许有其他代码
Finally
Final与finally的区别(面试题)
final
是一个修饰符,可以修饰变量,变成了常量,修饰方法变成了最终的方法,不能被重写可以被调用,修饰类成了最终类,不能被继承
finally
是异常体系中的关键字,与try代码块连用,意义,如果一段代码,无论是否发生异常都需要执行,可以方到finally代码块中
try finally ;可以
try catch finally ;可以
catch finally ;不可以
常见异常举例(面试题)
RuntimeException Java.lang包中多数异常的基类(运行异常)
ArithmeticException 算术异常,如除以0
ArrayIndexOutOfBoundsException 数组下标出界
NullPointerException 试图访问null对象引用
SecurityException 试图违反安全性
ClassNotFoundException 不能加载请求的类
NumberFormatException 字符串到数字格式的非法转换
IOException I/O异常的根类
FileNotFoundException 不能找到文件
IllegalAccessException 对类的访问被拒绝
NoSuchMethodException 请求的方法不存在
InterruptedException 线程中断
NullPointerException 空指针异常