Java 最常见的 208 道面试题:第七模块答案 -异常

    xiaoxiao2022-07-14  145

    74.throw和throws的区别 答案:throw是用来声明一个方法可能跑出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理,throws是跑出一个具体的异常类型相当于报错

    75.final,finally,finallyze的区别 答案:finall可以修饰变量,方法,类,表示不能被继承,修改,重新赋值 finally一般被作用在try-catch代码块中,在处理异常的时候,通常将释放资源的代码放在finally中执行 finallize是一个方法,调用垃圾回收

    76.try-catch-finally中那个部分可以被省略 答案:catch可以被省略

    77.try-catch-finally中 如果catch中return了,那么finally还会执行吗 答案:会执行,会在return前执行 public static int getInt() {         int a = 10;         try {             System.out.println(a / 0);             a = 20;         } catch (ArithmeticException e) {             a = 30;             return a;             /*              * return a 在程序执行到这一步的时候,这里不是return a 而是 return 30;这个返回路径就形成了              * 但是呢,它发现后面还有finally,所以继续执行finally的内容,a=40              * 再次回到以前的路径,继续走return 30,形成返回路径之后,这里的a就不是a变量了,而是常量30              */         } finally {             a = 40;             return a; //如果这样,就又重新形成了一条返回路径,由于只能通过1个return返回,所以这里直接返回40         }

    //      return a;     }

    78.常见的异常类 答案:    NullPointerException:当应用程序试图访问空对象时,则抛出该异常。

        SQLException:提供关于数据库访问错误或其他错误信息的异常。

        IndexOutOfBoundsException:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。

        NumberFormatException:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。

        FileNotFoundException:当试图打开指定路径名表示的文件失败时,抛出此异常。

        IOException:当发生某种I/O异常时,抛出此异常。此类是失败或中断的I/O操作生成的异常的通用类。

        ClassCastException:当试图将对象强制转换为不是实例的子类时,抛出该异常。

        ArrayStoreException:试图将错误类型的对象存储到一个对象数组时抛出的异常。

        IllegalArgumentException:抛出的异常表明向方法传递了一个不合法或不正确的参数。

        ArithmeticException:当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。

        NegativeArraySizeException:如果应用程序试图创建大小为负的数组,则抛出该异常。

        NoSuchMethodException:无法找到某一特定方法时,抛出该异常。

        SecurityException:由安全管理器抛出的异常,指示存在安全侵犯。

        UnsupportedOperationException:当不支持请求的操作时,抛出该异常。

        RuntimeExceptionRuntimeException:是那些可能在Java虚拟机正常运行期间抛出的异常的超类。

     

    最新回复(0)