开发者社区> 问答> 正文

多个异常处理(多个catch)

多个异常处理(多个catch)

展开
收起
珍宝珠 2020-02-13 17:24:17 1508 0
1 条回答
写回答
取消 提交回答
  • class Demo  
    {  
        int div(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException//在功能上通过throws的关键字声明该功能可能出现问题  
        {  
            int []arr = new int [a];  
      
            System.out.println(arr[4]);//制造的第一处异常  
      
            return a/b;//制造的第二处异常  
        }  
    }  
      
      
    class ExceptionDemo  
    {  
        public static void main(String[]args) //throws Exception  
        {  
            Demo d = new Demo();  
      
            try  
                {  
                    int x = d.div(4,0);//程序运行截图中的三组示例 分别对应此处的三行代码  
                    //int x = d.div(5,0);  
                    //int x = d.div(4,1);  
                    System.out.println("x="+x);   
            }  
            catch (ArithmeticException e)  
            {  
                System.out.println(e.toString());  
            }  
            catch (ArrayIndexOutOfBoundsException e)  
            {  
                System.out.println(e.toString());  
            }  
            catch (Exception e)//父类 写在此处是为了捕捉其他没预料到的异常 只能写在子类异常的代码后面  
                                //不过一般情况下是不写的   
            {  
                System.out.println(e.toString());  
            }  
              
      
      
            System.out.println("Over");  
        }  
      
    }
    
    

    以上代码运行输出结果为:

    java.lang.ArrayIndexOutOfBoundsException: 4
    Over
    
    2020-02-13 17:27:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载