异常

1.throw和throws的区别?

throw:真实抛出一个异常。

throws:声明可能会抛出的异常。

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

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

  finally:是try[]catch{}finally{}最后一部分,表示不论发生任何情况都会被执行,finally部分可以省略。

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

3.try-catch-finally中哪部分可以省略?

  catch和finally都能被省略,但是不能同时省略只能省略其中一个,也就是说有try的使用,必须后面跟着一个catch或者finally。

4.try-catch-finally中,在catch中return了,finally还会执行吗?

  finally一定会执行,即使是catch中return了,catch中的return会等finally中的代码执行完之后才会执行。

5.常见的异常类有哪些?

NullPointerException:空指针异常。

IndexOutOfBoundsException:数组下标越界异常。

ClassNotFoundException:指定类不存在异常。

NumberFormatException:字符串转换为数字异常。

ClassCastException:数据类型转换异常。

FileNotFoundException:文件未找到异常。

NoSuchMethodException:方法不存在异常。

IOException:IO异常。

SocketException:socket异常。

原文地址:https://www.cnblogs.com/bl123/p/14994053.html