异常

异常:就是程序中出现的不正常的现象(错误与异常)

异常的继承体系:
Throwable: 它是所有错误与异常的超类(祖宗类)
|- Error 错误,修改java源代码
|- Exception 编译期异常, javac.exe进行编译的时候报错
|- RuntimeException 运行期异常, java出现运行过程中出现的问题

异常处理的两种方式:

1,出现问题,自己解决 try…catch…finally
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
} finally {
异常操作中一定要执行的代码
}
2,出现问题,别人解决 throws
格式:
修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2,…{}
public void method() throws Exception{}

异常分类

异常的根类是Throwable,其下有两个子类:Error与Exception,平常所说的异常指Exception。

  • 严重错误Error,无法通过处理的错误
  • 编译时异常Exception,编译时无法编译通过。如日期格式化异常
  • 运行时异常RuntimeException,是Exception的子类,运行时可能会报错,可以不处理。如空指针异常

异常基本操作

创建异常对象
抛出异常
处理异常:
捕获处理,将异常获取,使用try/catch做分支处理
try{
需要检测的异常;
} catch(异常对象) {
通常我们只使用一个方法:printStackTrace打印异常信息
}
声明抛出处理,出现异常后不处理,声明抛出给调用者处理。
方法声明上加throws 异常类名
注意:异常的处理,指处理异常的一种可能性,即有了异常处理的代码,不一定会产生异常。如果没有产生异常,则代码正常执行,如果产生了异常,则中断当前执行代码,执行异常处理代码。

异常注意事项

多异常处理
捕获处理:
1多个异常可以分别处理
2多个异常一次捕获多次处理
3多个异常一次捕获,采用同一种方式处理
声明抛出异常:
声明上使用,一次声明多个异常

运行时异常被抛出可以不处理。即不捕获也不声明抛出
如果父类抛出了多个异常,子类覆盖父类方法时,只能抛出相同的异常或者是他的子集
父类方法没有抛出异常,子类覆盖父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出
当多异常处理时,捕获处理,前边的类不能是后边类的父类

自定义异常

如果Java没有提供你需要的异常,则可以自定义异常类。
定义方法:编译时异常继承Exception,运行时异常继承RuntimeException。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值