java之异常的概念和解析

概念

异常:指程序执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止

 

在java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象,java处理异常的方式是中断处理

异常并不是语法错误,语法错误编译过不了,不会产生可运行的字节码文件

 

 

异常体系:

 

 

类Throwable是所有异常和错误的超类

Exception:编译期异常,进行编译(写代码)java程序出现的问题

RuntimeException:运行期异常,java程序运行过程中出现的问题

异常处理掉,程序就可以继续执行

演示:

 public static void main(String[] args) /*throws ParseException*/ {

        SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd");

        //第一种处理方法,抛出异常交给虚拟机处理

        //缺点:一旦格式不一致,虚拟机就会中断程序将异常打印

        try {

            Date parse = sdf.parse("1999-0909");//这里故意没按格式写

            //第二种处理方式:try catch

            //try中是可能出现异常的代码,catch中是出现异常的处理方式

            //好处:将异常处理后程序可以继续运行

        } catch (ParseException e) {

            System.out.println("出现了异常");

        }

        //错误Error演示

        int[] arr=new int[1024*1024*1024];

        //出现错误必须修改源代码

    }

 

 

异常产生解析

public class Demo2 {

    /*定义一个方法,获取数组指定索引处的元素

     * 参数:

     * int []arr

     * int index

     * */

    public static void main(String[] args) {

       int []arr={1,2,3};

       int e=getElement(arr,3);

        System.out.println(e);

 

    }

    public static int getElement(int []arr,int index){

        int ele=arr[index];

        return ele;

    }

}

/*

jvm做了两件事:

    1、jvm根据异常产生的原因创建了一个异常对象,这个异常对象包含了异常产生的(内容,原因,位置)

    2、在getElement方法中,没有异常处理逻辑(try-catch),那么jvm就会把异常对象抛出给方法的调用者

    main方法来处理这个异常

    main方法收到这个异常对象,main方法也没有异常处理的逻辑,继续把对象抛出给main方法的调用者JVM处理

    jvm收到这个异常对象,做了两件事

        1、把异常对象(内容,原因,位置)红色字体打印在控制台

        2、jvm会终止当前正在执行的java程序-->中断处理

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值