zoukankan      html  css  js  c++  java
  • head first java ( 第 11 章 )

    - 执行别人的方法时, 要注意是否存在风险

      image

      image

      image

      image

    - java 异常处理依赖你已经知道所调用方法是有风险的

      java API 说明文件中会显示该方法是否有异常, 如果有, 那么你就要处理异常。

      try {

      } catch() {

      }

      注意: 如果 try 里的程序有多段代码可能出现异常, 那么 catch 所抓住的异常一定是先出现问题的一样.

    - 抛出与抓到异常 

      ( 方法本身的定义, 可见方法本身只要抛出就可以了 )

     image

      ( 调用该方法, 它要 catch 异常 )

      image

    - try/catch 块的流程

      如果遇到异常时, 从抛出异常的代码直接到 catch 里运行, 然后继续下去

      finally: 无论如何都要执行

      try {

      } catch() {

      } finally {

      }

      finally块是用来存放不管有没有异常都的执行的程序

      image

      如果没有 finally, 你的同时把 turnOverOff()摆在 try与 catch两处. finally块可以让你把所有重要的清理程序代码集中在一处.

    - 处理多重异常

      image

      抛出了 2 个异常

      image 

      多个 catch

    - 异常是多态的

      image  

      image

      可以用 super 来处理所有异常并不代表就应该这么做

      try {

      } catch( Exception ex ) {

        // 恢复什么? 这会捕获所有的异常, 因此你会搞不清楚哪里的错

      }

      为每个需要单独处理的异常编写不同的catch块

      image

    - 有多个 catch块时要从小排到达( 这是肯定的, 反之, 如果从大到小, 那么第一个catch会将所有的异常catch住) 

      如果第一个是最大的, 剩下的就不会被用到了.

    - 处理异常的方法

      1. 处理 ( try {} catch () {} )

      2. 声明 ( 就是推给后来人做 )

         void foo() throws ClothingException { // 声明会抛出异常, 但是没有try-catch, 所以谁调用该方法, 谁就要处理异常

           laundry.doLaundry();

         }

    - 规则

    catch与finally不能没有try

    try 一定要有catch或finally ( 只带有finally的try必须声明异常)

       void go() throws FooException (

         try {

           x.doStuff();

         } finally {}

       }

    try 与 catch 之间不能有程序

  • 相关阅读:
    fenby C语言P21
    fenby C语言 P20
    fenby C语言 P19
    fenby C语言 P18
    fenby C语言 P17
    fenby C语言 P16
    fenby C语言 P15
    fenby C语言 P14
    Python学习之路:subprocess模块和面向对象
    Python学习之路:XML模块
  • 原文地址:https://www.cnblogs.com/moveofgod/p/3021450.html
Copyright © 2011-2022 走看看