Java异常处理

本文详细介绍了Java异常处理的抓抛模型,包括try-catch-finally和throws两种方式。强调了finally块在资源释放中的关键作用,以及try-catch-finally结构的嵌套使用。同时,探讨了在开发中如何选择异常处理方式,并讲解了如何自定义异常类。
摘要由CSDN通过智能技术生成

Java异常处理

1. 抓抛模型

  • 过程一: “抛”,程序在正常执行过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象,并将此对象抛出。

    ​ 一旦对象抛出,其后代码就不再执行。

  • 过程二:“抓”,可以理解为异常处理方式:1.try-catch-finally 2.throws

2.异常处理的两种方式

  • 方式一:try-catch-finally
    1. 是可以真正解决异常的方式
    2. finally是可选的
    3. finally中声明的是一定会执行的代码。即使catch中又出现了异常,try中有return语句,catch中有return语句等情况
    4. 数据库连接,输入输出流,网络编程Socket等资源,JVM是不能自动回收的,我们需要自己动手进行资源的释放,此时的资源释放,就需要声明在finally中
    5. try将可能出现异常的代码包装起来,catch对try抛出的异常进行捕获并有处理办法
    6. catch中异常类型如果满足子父类关系,子类异常必须放上面
    7. 常用的异常对象处理方式: 1 String getMessage() 2 printStackTrace()
    8. 在try结构中声明的变量在出了try结构后不能在被调用
    9. try-catch-finally结构可以嵌套
  • 方式二:throws + 异常类型
    1. throw + 异常类型 写在方法声明处,指明此方法执行时,可能会抛出异常类型,一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类对象,此对象满足throws后异常类型时,就会被抛出。异常处后续代码不在执行!

3. 体会

  1. 使用try-catch-finally处理编译时异常,使得程序在编译时不在报错,但是运行时仍有可能报错,相当于将一个可能出现的异常,延迟到运行时出现
  2. 开发中由于异常比较常见,所以我们就不针对运行时异常编写try-catch-finally了,针对编译时异常我们一定要处理
  3. try-catch-finally:真正将异常给处理掉了,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值