java异常

1.try里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是在return后?

会执行,在return中间执行。

finally中的代码return和break语句后执行。

2.final,finally,finalize的区别?

final用于声明属性,方法和类,本别表示属性不可修改,方法不可覆盖,类不可继承,内部类要访问局部变量,局部变量必须声明成final类型。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,如文件关闭等,JVM不保证此方法总被调用。

3.运行时异常和一般异常有什么区别?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误,java编译器要求方法必须声明抛出可能发生的非运行异常,但是并不要求必须声明抛出未被捕获的运行时异常。

4.error和exception有什么区别?

error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的错误。exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

5.java中的异常处理机制的简单原理和应用?

6.最常见的runtime Exception

NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常
IllegalArgumentException- 传递非法参数异常
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常
7.java语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
throws 捕获并向外抛出异常
throw 抛出异常
try catch 是内部捕获异常并作出自定义处理
finally是无论是否有异常都会被处理的语句,除非finally前存在被执行的System.exit(int i)时除外。
可以。
原文地址:https://www.cnblogs.com/hxg-yw/p/4053668.html