异常处理-声明异常throws和捕获异常try..catch
声明异常throws
声明异常:将问题标识处理 报告给调用者 如果方法内通过throw抛出了编译是异常 通过throws进行声明 让调用者去处理
关键字throws运行于方法之上 用于表示当前不出来异常 而是提醒该方法的调用者来处理异常
声明异常格式:
修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2{}
注意:
1.throws关键字必须写在方法声明处
2.throws关键字后面声明的异常必须是Exception或者是Exception的子类
3.方法内部如果抛出了多个异常对象 那么throws后边必须也声明多个异常
- 如果抛出的多个异常对有字符类关系 那么只需声明父类异常即可
4.调用了一个声明抛出异常的方法 我们就必须的处理声明的异常
- 要么继续使用throw声明 交给方法的调用者处理 最终交给JVM
- 要么try....catch自己处理异常
捕获异常try..catch
如果异常出现的话 会立刻终止程序 所以我们得处理异常
1.该方法不处理 而是声明抛出 有该方法的调用者来处理(throws)
2.在该方法中使用try-catch的语句块来处理异常
try-catch的方式就捕获异常
- 捕获异常:java中对异常有针对性的语句进行捕获 可以对出现的异常进行制定的处理
捕获异常语法如下:
try{ 编写可以会出现异常的代码 }catch(异常类 e){ 处理异常的代码 }
注意:
1.try中可能会抛出多个异常对象 那么就可以使用多个catch来处理这些异常对象
2.如果try中产生了异常 那么就会执行catch中的异常处理逻辑 执行完毕catch的处理逻辑 继续执行try...catch之后
- 如果try中没有产生异常 那么就不会执行catch中异常的处理逻辑 执行完try中的代码 继续执行try..catch之后的代码
代码:
public static void main(String[] args) {
try {
method("test.tx");
} catch (IOException e) {
System.out.println("文件名不正确 应该是.txt");
}
}
private static void method(String s) throws IOException {
FileInputStream stream = new FileInputStream(s);
}
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本