1.throw 和 throws 的区别
- throw 是真实抛出一个异常
- throws是声明可能会抛出一个异常。
2. final , finally finalize 有什么区别?
- fianl:是修饰符,如果修饰类,此类不能被继承,如果修饰方法和变量则表示此方法和变量不能被改变,只能使用
- finally:是 try{}catch{}finally{}最后一部分,表示不困发生任何情况都会执行,finally 部分可以省略,但如果finally 部分存在,则一定会执行finally里面的代码。
- finalize:是Object类的一个方法,在垃圾收集器执行的时候会调用回收对象的此方方法。
2.try-catch-finally 中那部分可以省略?
try-catch-finally 其中 catch 和 finally 都可以被省略,但是不能同时省略,也就是说try 的时候,必须后面跟一个catch或者finally
3.try-catch-finally 中,如果catch 中return了,finall 还会执行吗?
finally 一定会执行,即使catch中return 了,catch 中的return 会等finall中的代码执行完之后,才会执行。
4.JAVA中常见的异常有哪些?
- NullPointerException :空指针异常
- ClassNotFoundException :指定类不存在异常
- NumberFormatException :字符串转换为数字异常
- IndexOutOfBoundsException :数组下标越界异常
- ClassCastException :数据类型转换异常
- FileNotFounddException :文件未找到异常
- NoSuchMethodException :方法不存在异常
- IOException :IO异常
- SocketException :Socket异常