Java交流程序员Java 杂谈

Java面试题之Java 的异常处理

2018-05-16  本文已影响116人  周小鑫001

   1. Java中异常分为哪些种类 

            (1) 编译时异常,也叫强制性异常,和CheckedException

            (2)运行时异常,也叫没强制性异常和RuntimeException

   2.error和exception的区别?

        error一般是指在虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等,这类错误导致应用程序中断,程序自身是无法恢复的,这时候,我们一般建议终止程序

Exception类表示程序可以处理的异常,可以捕获且可能恢复,遇到这类异常,应该尽可能的处理异常,,是程序恢复运行,而不是随意终止程序

3.请写出你最常见的几个RuntimeException        

   1.java.lang.NullPointerException 空指针异常

   2.java.lang.ClassNotFoundException 找不到指定的类

  3.java.lang.NumberFormatException 字符串转换为数字异常

   4.java.lang.IndexOutOfBoundsException 数组角标越界异常

   5.java.lang.ClassCastException   数据类型转换异常

   6.SQLException SQL异常

   7.java.lang.IllegalArgumentException 方法传递参数错误

4.throw和throws的区别

    throw 语句用在方法体内,表示抛出异常,它抛出的是异常实例,所以执行throw一定抛出异常

  throws:用在方法声明后,如果有异常进行抛出,没有异常不处理,抛出的是某种类型的异常

5.final、finally、finalize的区别?

            final:是用来,声明属性,方法和类,分别表示,属性不可变,类不可继承,方法不能覆盖

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

            finalize:Object类的一个方法,用来垃圾回收的(这里 我是这么理解的)

上一篇下一篇

猜你喜欢

热点阅读