每日一练11:java异常处理 (二)

上篇文章主要介绍了异常的基本概念和使用。本文主要从异常的继承结构、异常处理机制、throw、throws关键字角度分析java异常的处理。

一、异常的继承结构

java异常继承结构中,有两个常用的类,一个是Exception,另一个是Error。Excepiton表示的是程序中出现的异常需要使用try…catch处理,用户自定义的异常继承自Exception,还有一个常见的异常类RuntimException类,该类继承自Exception,Exception类和RuntimeException的主要区别是:Exception在程序中必须使用try…catch语句进行处理,RuntimeException可以不使用try catch进行处理,但是如果发生了RuntimeException的异常将由JVM进行处理。Error一般指的是JVM错误,在程序中是无法处理的。异常类的继承结构如下图1所示:

图1 异常类的继承结构

二、异常的处理机制

1.在 java的异常处理过程中,一旦发现异常将会按照如下步骤处理:

(1)实例化一个异常类对象。

(2)将产生的异常对象与catch语句里的个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。

(3)如果有finally语句块,将执行finally语句块中的代码。

根据异常的继承结构可知,算术异常、数字格式异常、数组越界异常均是Exception的子类,根据引用数据类型转换规则可知,可以使用一个父类对象Exception来接收所有的异常对象。在java中所有捕获范围小的异常必须放在捕获范围大的异常之前,否则在代码编辑时就会出现错误提示。如下图所示:

图2范围大的Exception在前时编辑器报错提示

三、异常关键字throws、 throw

1.throws

java中定义一个方法时可以使用throws抛出异常,具体格式如下:

public 返回值类型  方法名称(方法参数列表)throws 异常类{}。

如下图所示:

图3 throws关键字使用

2.throw

在java程序中如果有异常情况,可以使用关键字throw将程序中出现的异常直接抛出,在主调函数中用try…catch的方式将被调函数中throw的异常捕获进行处理。如下图所示:

图4 throw关键字的使用

感谢阅读,动一动您的手指,分享给身边的朋友吧!谢谢!

长按识别二维码关注本文公众号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值