Java中的每一个异常都是类,类与类之间可能存在继承关系(异常的体系结构)
我们通常遇到的都是Exception
?
主要起提醒作用,程序员需要根据异常信息编写对应的异常处理代码,程序才能运行
总结出来就是:遇到异常时程序会自动创建一个异常对象,向上抛出传给调用者,并终止程序
好处: 异常对象可以被捕获, 后续的代码可以继续执行
格式:? ? ? ?? ? ? ? ? ? ??
执行流程:
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1. 执行 try {} 中的代码, 看是否有异常对象产生
? ? ? ? ? ? ? ? ? ? ? ? ? ? 2. 没有异常 : catch就不会捕获, 后续代码继续执行
? ? ? ? ? ? ? ? ? ? ? ? ? ? 3. 有异常 : catch捕获异常对象, 执行catch {} 中的处理方案, 后续代码继续执行
出现问题,程序会在错误点停止,不会继续执行,且错误信息会展示在控制台上
???????? throw : 用在方法中, 后面跟的是异常对象, 其作用是抛出异常对象
???????? throws? : ?用在方法名后面, 起到声明作用
??????????????????????????????????????????? 声明此方法中存在异常, 调用者需要进行处理
抛出的异常对象如果是编译时异常,? 必须使用 throws 声明
? 如果是运行时异常, 则不需要写 throws
?
?
??????????? 思路:看这个问题是否需要暴露出来
??????????????????????? 需要:抛出
??????????????????????? 不需要:try…catch