java异常

/*
* 异常:程序在运行时出现的不正常情况
* 异常由来:问题也是现实生活中一个具体的事物,也可以通过java类的形式进行描述,并封装成对象
*          其实就是java对不正常现象进行描述后的体现
* 对于问题的划分:
*     1、严重问题:java通过Error类进行描述,一般不编写针对性的代码进行处理
*     2、非严重问题:java通过Exception类进行描述
*
* Error和Exception有一些共性内容,向上提取Throwable
*
*
* 异常的处理:
*  try{需要检测的代码}
*  catch(异常类 变量){处理异常的代码:(处理方式)}
*  finally{一定会执行的语句 }
*
*
*  对捕获到的异常对象进行常见方法操作
*    String.getMessage();获取异常的信息
*
*
* 对多异常的处理
*    1、声明异常时,建议声明更为具体的异常,这样处理的更为具体。多throws 多catch
*    2、对方声明几个异常,就应该有几个catch块,不要定义多余的catch块
*       如果多个catch块中的异常出现继承关系,父类catch块放在最下面
*
*
*
* 建议在进行catch块处理时,catch中一定要定义具体的处理方式,不要简单的定义一句 e.printStackTrace()
* 也不要简单的书写一条输出语句
* */
class demo{
    int div(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException//在功能上通过throws的关键字声明了该功能可能会出现问题
    {
        int [] arr=new int [a];
        System.out.println(arr[5]);//角标越界
        return a/b;//除零操作
    }
}

public class Exception_1 {  //throws Exception
    public static void main(String [] args){
        demo d=new demo();
//        int x=d.div(4,0);
//        System.out.println("x="+x);
        try{
            int x=d.div(6,0);
            System.out.println("x="+x);
        }
//        catch(Exception e){       //使用了多态  Exception e=new ArithmeticException ();并不具体,一般不支持使用
//            System.out.println(e.getMessage());
//        }




        catch(ArrayIndexOutOfBoundsException a) //数组下标越界
        {
            System.out.println(a.toString());
        }


        catch(ArithmeticException e) {    //除零操作
            System.out.println(e.getMessage());//打印异常信息

//            System.out.println(e.toString());//异常名称:异常信息
//
//            e.printStackTrace();//异常名称,异常信息,异常出现的位置。其实jvm默认的异常处理机制,就是在调用该方法
            //打印异常在堆栈中的异常信息
            System.out.println("除零了");
//
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值