java学习笔记——异常

在java的世界里,一切皆对象。所以异常也是对象。

但对象与对象也有不同,异常对象有其特殊的使用场景的方法,需要特殊学习一下。

以下是学习core java的一些体会和笔记。


1.异常的作用

异常是对程序可能遇到或已经遇到的问题的提醒或者说明,以便解决问题,继续执行程序。

2.异常的分类

一切类都是从Object继承而来。异常也不例外

继承结构:

Object

   |

Throwable

/      \

Error    Exception

     /                \

RuntimeException   other Exception


Error类属于jvm或者java内部错误,我们对其没有掌控力,如果遇到只能重启

Exception有很多子类,其中RuntimeException是其中一个,表示运行时异常,下面也有很多子类,主要包括比如空指针引用,数组越界,错误的类型转化等。这些Exception是可以避免的,而且避免的责任是由写该段代码的人负责

其他的other Exception属于另一类。不是java错误,也不是写该段代码的人负责,而是调用这段代码的人负责。

比如我是生产菜刀的,如果菜刀有质量问题,那么是我的责任,如果买菜刀的人拿菜刀砍铁棍,导致菜刀坏掉,与我无关,但我可以提醒买菜刀的人,这个菜刀不能砍太硬的东西。这个提醒就是声明异常。下面再讲。

Error+RuntimeException统称UncheckException。Exception类下面的其他Exception成为CheckedException。


这里是否check指的是编译器check,一切编译器check了的都要声明,编译器没有check的都不用声明。


3.针对Exception的对策:

a.声明异常

声明异常,加在方法名后面,表明编译器已经check了,这个方法可能会产生这个异常,要注意。

格式如下:

public Image loadImage(String s) throws IOException

public Image loadImage(String s) throws FileNotFoundException,EOFException

要声明所有check的异常,也就是可能发生的异常

注意:子类重写超类的方法时,子类声明的异常不能大过父类的异常

(未完待续)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值