首页 > 代码库 > Java -- 异常的捕获及处理 -- Exception类与RuntimeException类

Java -- 异常的捕获及处理 -- Exception类与RuntimeException类

  7.3 Exception类与RuntimeException类

    Exception类与RuntimeException类的联系与区别???

    例:字符串变为整型

    Class : RuntimeExceptionDemo01

package limeThrowable._7_3;

public class RuntimeExceptionDemo01 {

    public static void main(String[] args) {
        String str = "123";
        int i = Integer.parseInt(str);
        System.out.println(i * i);
    }
}

    Console : 

15129

    其中parseInt()签名:

public static int parseInt(String s) throws NumberFormatException

    parseInt()方法在声明时使用了throws关键字,但是在方法调用时并没有使用try---catch进行处理,这是为什么?

    观察NumberFormatException类的继承关系:

    技术分享

    可以发现NumberFormatException属于RuntimeException的子类,那么这时就可以清楚地知道:

    ⊙ Exception在程序中必须使用try---catch进行处理。

    ⊙ RuntimeException可以不实用try---catch进行处理,但是如果有异常产生,则异常将由JVM进行处理。

    提示:

      对于RuntimeException的子类最好也使用异常处理机制。

      虽然RuntimeException的异常可以不用try---catch进行处理,但是如果一旦出现异常,则肯定会导致程序中断执行,所以,为了保证程序在出错后依然可以执行,所以在开发代码时最好使用try---catch的异常处理机制进行处理。

 

7.4 自定义异常类

啦啦啦

Java -- 异常的捕获及处理 -- Exception类与RuntimeException类