温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java异常----受查(Checked)异常和运行时(Runtime)异常

发布时间:2020-07-07 07:37:28 来源:网络 阅读:713 作者:沙漏半杯 栏目:编程语言

1.•非受查异常(unchecked exception)

–编译器不要求强制处置的异常

–java.lang.RuntimeException类及它的子类都是非受查异常

•错误的类型转换异常:ClassCastException

•组下标越界异常:ArrayIndexOutOfBoundsException

•空指针访问异常:NullPointerException

除零溢出异常:ArithmeticException



2.•受查异常(checked exception)

–编译器要求必须处置的异常

•没有找到具有指定名称的类:ClassNotFoundException

•访问不存在的文件异常:java.io.FileNotFoundException

•操作文件时发生的异常:java.io.IOException

•操作数据库时发生的异常:java.sql.SQLException

[java] view plaincopy


package com.mys.ajax;  

  

import java.io.IOException;  

  

public class CatchTest {  

  

    /** 

     * @param args 

     */  

    public static void main(String[] args) {  

        test1();  

        test2();  

        test3();  

        test4();  

        test5();  

    }  

  

    private static void test1() {  

        try{  

            System.out.println("www.csdn.net");  

        }catch (IndexOutOfBoundsException ex) {  

            ex.printStackTrace();  

        }  

    }  

    private static void test2() {  

        try{  

            System.out.println("www.csdn.net");  

        }catch (NullPointerException ex) {  

            ex.printStackTrace();  

        }  

    }  

    private static void test3() {  

        try{  

            System.out.println("www.csdn.net");  

        }catch (IOException ex) {//1.  

            ex.printStackTrace();  

        }  

    }  

    private static void test4() {  

        try{  

            System.out.println("www.csdn.net");  

        }catch (ClassNotFoundException ex) {//2.  

            ex.printStackTrace();  

        }  

    }  

    private static void test5() {  

        try{  

            System.out.println("www.csdn.net");  

        }catch (Exception ex) {  

            ex.printStackTrace();  

        }  

    }  

  

}  


上面1和2出编译是就报错,由于编译器认为System.out.println("www.csdn.net"); 这句话不可能抛出这两个异常。


根据Java语言规范,如果一个catch子句试图捕获一个Checked异常,那么它对应的try子句必须可能抛出该Checked异常或者其子类异常,否则,编译器即提示编译错误!


区别于RuntimeException异常,Runtime异常非常灵活,无须显示声明抛出,只要程序有需要,即可以在任何有需要的地方使用try...catch来捕获。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI