java异常体系、自定义异常

来源:互联网 发布:粤语评书软件下载 编辑:程序博客网 时间:2024/04/28 01:28

一、认识java异常
1. java异常是java程序运行过程中出现的非正常情况;
异常在程序中如果不做处理,会导致程序中途瘫痪,不能正常完成特定功能;
异常一般情况是需要通过java异常处理机制给屏蔽或者处理掉。
2. Java异常特点
Java异常处理是面向对象处理方式;
一旦代码出现异常问题,JVM底层则会创建一个异常类相关的对象;
异常对象产生后,会根据代码对异常的处理机制进行操作,其中异常处理机制包括捕获异常和抛出异常两种,如果没有异常操作,则java程序会中断执行。
3.Java异常体系继承结构图
这里写图片描述

二、异常处理机制
1.捕获异常
1.1
这里写图片描述
1.2异常捕获注意事项
①catch定义,由上到下,异常类的范围必须由小到大或者同级别的
运行时异常,catch中可以随意定义类型,程序运行时,会根据catch参数自动匹配
②非运行时异常,则catch中定义的异常,在try代码块中必须存在,如果没有类似异常存在,则不允许被定义。
finally关键字,在进行异常处理之后,在异常的处理格式中还有一个finally语句,此语句将作为异常的统一出口,不管是否产生异常, 最终都要执行此段代码
④如果try中有return语句,则会先执行return语句,后执行finally,最后返回整个方法
2.抛出异常
2.1这里写图片描述
2.2这里写图片描述
这里写图片描述
3.throw抛出异常对象
3.1 此操作主要是对当前产生的异常对象进行抛出操作,常用的处理格式是结合try…catch和throws一起使用。

public void test() throws 异常对象类型{    try{        //存在异常的代码块    }catch(异常类型 变量名){        throw 异常对象;    }}

3.2 throw异常对象注意
throw一般存在于catch语句当中,用于出现异常后的一种操作方式
捕捉的异常和抛出的异常不一定相同,可以不一样;
throw抛出的异常对象如果是检测异常,则所在的方法必须要通过throws显性抛出;
throw抛出的异常对象如果是非检测异常,则方法上可以选择性定义throws。
三、自定义异常
1.自定义异常一般是自己定义一个类来扩展Exception类
2.格式:public class 自定义异常类名 extends Exception{}
3.自定义异常一般适用于throw代码块抛出

0 0