Java中的异常处理机制

Java中的异常处理机制

** 示例**

public class test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s="hello";
        int i=Integer.parseInt(s);
    }
}

上述代码运行

异常结果.png

在上述代码中Integer.parseInt表示把字符串类型转化成整数类型,同时Integer是Int的封装类;程序会报错,因为计算机没有办法把hello转化成整数,这时就可以采用以下方式来解决这个问题

public class test {
    /**
     * try块中表示可能会出错的内容
     * catch块中是出错后执行的部分呢
     * */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s="100";
        try {
            int i=Integer.parseInt(s);
            /**
             *程序不会出错时是不会执行到 catch块中的
             * */
        } catch (NumberFormatException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

在catch块中还可以进行这样的处理:system.out.println(e.getMessage)-->打印出错误语句信息;;e.printstackTrace()-->打印的是堆栈信息;;以上示例中的事件也可以处理也可以不处理

** 必须处理的错误**

public static void main(String[] args){
    Class.forName("java.test");
}

抛出的错误为:Unhandle exception type ClassNotfoundException-->类没有找到的异常错误,这个错误系统要求必须处理,处理方式同上进行try{}catch{}来处理

异常处理机制:程序运行时出现的,导致程序无法正常运行的错误称为异常

  1. Error:一般JVM运行的错误,不用处理,也没有办法处理
  2. Exception分为RuntimeException与非RuntimeException,运行异常可以选择处理或者不处理;非运行异常可以不用管太多

** 异常类型总结**
RuntimeException:
1. NullFointerExcption-->空指针异常
2. IndexOutOfBoundException-->数组下标越界异常
3. NumberFormatException-->数据格式异常
4. ClassCastException-->类型转换异常
5. IllegalArgumentException-->非法参数异常
6. ArithmeticException-->算数异常
非RuntimeException:
1. ClassNotFoundException-->类加载异常

你可能感兴趣的:(Java中的异常处理机制)