JAVA面试题——异常

1、throw和throws的区别?

throw:是真实抛出一个异常;

throws:是声明可能会抛出一个异常。

 

2、final、finally、finalize有什么区别?

final:是修饰符,如果修饰类,这个类不能被继承;如果修饰方法和变量,则表示这个方法和这个变量不能再被改变,只可以使用。

finally:是try{} catch{} finally{}最后一部分,表示不论发生任何 情况都会执行,finally部分可以省略,但如果finally存在一定会执行finally里面的代码。

finalize:是Object类的一个方法,在垃圾收集器执行的时候会被调用回收对象的此方法。

 

3、try-catch-finally中哪个部分可以省略?如果catch中return了,finally还会执行吗?

1)try-catch-finally其中catch和finally都可以省略,但是不能同时省略,也就是说有try的时候,后面必须有一个catch或者finally。

2)finally一定会执行,即使是catch中return了,catch在的return也会等待finally代码执行完成后,才会执行。

 

4、常见的异常类有哪些?

1)NullPointerException 空指针异常

2)ClassNotFoundException 制定类不存在

3)NumberFormatException 字符串转换为数字异常

4)IndexOutOfBoundsException 数组下标越界异常

5)ClassCastException数据类型转换异常

6)FileNotFoundException 文件未找到异常

7)NoSuchMethodException 方法不存在异常

8)IoException 异常

9)SocketException Socket异常

猜你喜欢

转载自www.cnblogs.com/xiaomingwang/p/11574143.html