什么是java异常处理

1、首先什么是异常

异常就是一些违反规则的情况,比如数组下标越界,除数为0,空的类引用变量调用方法。

2、java的异常体系

 

 

3、异常的分类&错误

异常分为检查时(Check Exceptions)异常和运行时(Runtime Exceptions)异常

共同点:这两种方法都会导致程序报错

不同点:检查时异常会提醒你这个地方可能会出现什么异常,你需要针对这个异常做一些处理,强制程序的编写者去处理这个异常,要么抛出,要么捕获,而运行时异常不会提醒你这个地方可能会出现的异常,也不会强制程序编写者去处理这个异常,你处不处理这个异常是你自己的事情,系统不管你。

错误:错误不是异常,一般来说错误是致命的,它会直接杀死一个进程,是程序员无法控制的,错误往往是虚拟机造成的

4、处理异常的几种方法

        1、try……catch:

        try块里面写可能会出异常的代码;如果try块里面的代码确实出异常了,那么自动创建一个异          常对象,被catch块捕获,然后程序会跳转到catch块去执行catch块里面的代码。如果说我们          在try块之前,或者try块里开启了物理资源,比如说数据库的连接,读取磁盘文件等;在出现          异常之后我们需要关闭这些资源,那么我们可以在catch块的后面添加一个finally块,在finally          块里面关闭这些资源。finally块放到最后执行,也就是说出现异常,先去执行相应的catch                块,然后再去执行finally块 

        2、throw

        用throw可以手动的抛出异常,用它抛出的异常是针对人的主观角度来讲算不算异常,举个例          子,下雨,对我来说是好事,对你来说不是好事,那么下雨对你来说就是异常,但对于系统            来说下雨就是很平常的一件事,系统并不认为它是一个异常所以你需要手动的抛出下雨这个            异常 。

        3、throws

        throws与throw的区别在于,throws是写在方法签名上的,抛出的是一个类型,而throw是写            在代码块里的,抛出的是一个异常类的实例。 throws一般可以抛出运行时异常,也可以抛出         检查异常,如果抛出的异常是检查时异常,那么系统将强制这个方法所有的调用者必须处理         这个异常,如果抛出的异常是运行时异常,系统不会强制这个方法的调用者处理这个异常

5、自定义异常

        自定义异常需要继承java提供的Exception基类,或者其父类Throwable,如果说我们想自定义         一个运行时异常,那么我们需要继承RuntimeException。继承完之后然后根据我们的需要去         重写里面的一些方法,便可以完成我们自定义异常类的编写

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值