- 异常是什么?有哪些异常控制关键字?
程序在运行过程中出现了可逆转或不可逆转的错误现象。 Try-catch、finnly |
- 请问final、finally、finalize分别代表什么意思?
Final-修饰符,如果一个类被final修饰,那么它将不能再被继承 Finally,在异常处理时提供finally来执行任何清除操作,如果抛出一个异常,那么相匹配的 catch 子句就会执行, 然后控制就会进入 finally 块(如果有的话)。另外,fianlly块在try的return之前执行 finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的 |
- 异常的分类,有哪些?区别是什么?
分为运行时异常和编译异常 运行时异常用户可以处理也可以不处理 编译异常,用户必须处理,否则就编译不了 |
- 运行时异常和检查时异常有什么区别?
运行时异常用户可以处理也可以不处理 检查时异常用户必须处理,否则编译不了 |
- throw和throws关键字的区别
位置不同:throw位于方法体中,throws位于方法声明中 内容不同:throw后面跟一个异常对象,throws后面跟一个或多个异常类 作用不同: throw:此处有异常,我负责抛出,我这里是异常的源头 throws:该方法中可能有异常,但是没有进行try-catch,我负责声明,告诉调用者 |
- 多重catch块的执行顺序?
异常范围小的放前面,异常范围大的放后面,Exception放最后面 |
- 如何定义一个自定义异常?
1.继承Exception,或者RuntimeException 2.重写父类的两个构造方法,无参构造方法和输入message的有参数构造方法 3.自定义异常可以有额外的成员变量,具体值可以通过构造方法传入此时一般要重写toString |