java编程的逻辑读书笔记——第六章

异常

  1. 所有的异常类有一个共同的父类:Throwable

  2. Throwable是所有异常类的基类,他有两个子类:Exception,Error

  3. throws在方法名后面用于声明一个方法可能抛出的异常

  4. throw在方法体内用于抛出异常

  5. Error表示系统错误胡哦这资源用尽

  6. Exception表示应用程序错误

  7. RuntimeException时运行时错误

  8. Error,RuntimeException是未受检异常,不要求必须处理

  9. Exception是受检异常,要求必须处理,否则会出现编译异常

  10. 异常类并不比父类多多少方法,大概就多了几个构造方法,写这么多异常类是为了区分异常

  11. 自定义异常根据继承的异常类型也分为受检异常和为受检异常

    扫描二维码关注公众号,回复: 4271120 查看本文章
  12. try-catch-finally注意事项
    1) catch后面的异常类,应该将最具体的放在前面。因为程序会从第一个开始匹配,如果将Exception放在第一个,就不会执行后面的具体异常类。
    2) catch块可以继续抛出异常
    3)java7之后,catch可以用 | 来分隔多个一场,取代多个catch块
    4)finally一般用来释放资源,数据库连接,文件流等
    5)finally的执行顺序

     如果try中没有异常发生,finally会在try执行完毕后执行。
     如果try中有异常并且被捕获,finally会在try-catch执行完毕后执行 
     如果在try-catch异常被捕获但是没有被抛出,finally会在异常抛给上层之前执行
     如果try-catch中有return语句,则return语句会在finally执行完毕后执行,finally中不会改变return的返回值。如果finally中也有return语句,会覆盖try-catch中的return语句,并且也会覆盖一场,当作异常没有发生。
    
  13. try-with-resource语法
    java7之后,可以将资源的声明和初始化放在try后面,省去finally释放资源的步骤

    try(InputStream is = FileInputStream(“hello”)){
    }

    java9之后,可以将资源声明和初始化写在try语句块之外,不过必须被写成final,或者不会被重新复制

  14. 问题
    使用try-catch-resource语法之后,还能和finally一起用吗

猜你喜欢

转载自blog.csdn.net/weixin_42424720/article/details/84579375
今日推荐