首页 青云排行榜 知识中心 控制台

下列程序的执行,说法错误的是 (     )

public class MultiCatch {
    public static void main(String args[]) {
        try {
            int a = args.length;
            int b = 42/a;                     //10行
            int c[] = {1};
            c[42] = 99;
            System.out.println("b=" + b);
       } catch(ArithmeticException e) {
            System.out.println("除0异常:" + e);     // 15行
        } catch(ArrayIndexOutOfBoundsException e) {
            System.out.println("数组超越边界异常:" + e);     // 19行
        }
    }
}

程序将输出第15行的异常信息

程序第10行出错

程序将输出“b=42”

程序将输出第15或者19行的异常信息

“程序将输出第15行的异常信息”:int a = args.length 这一句是获取args数组的长度,这与程序运行方式有关,不一定是0, 所以不一定会抛出异常。
“程序第10行出错”:也是一样的道理。
“程序将输出第15或者19行的异常信息”:很显然数组越界是百分之百会报错的,但是不一定会有除0异常。
程序将输出”b=42”?很显然如果args数组真为0,那么会跳过System.out.println(“b=”+b);直接进入catch语句抛出异常,所以不一定会输出42。
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082