异常

异常的超类 Throwable

Exception:

  1. 意外的结果
  2. 方法的意外结束
  3. 空指针异常
  4. 数组越界

Error

  1. 栈溢出
  2. 堆溢出

异常的处理:

  1. 声明抛出异常
  2. 首先在方法名的后面声明抛出异常,最后谁调用,谁可以选择继续抛出异常,或捕获异常
  3. finally,无论捕获异常,还是没有捕获异常,都执行这里面的代码。
  4. try尝试运行代码块,如果有异常,会被随后的catch捕获,异常发生后,代码块不执行。catch是异常处理代码,需要提供合理的处理,异常的处理,尽量跟逻辑有关,可以跟多个catch捕捉。请注意,异常的大小关系,大类型的放到后面
  5. finally:代码款,不管是否出现异常,都会运行此代码块。经常用来处理现场的清理,比如数据的链接

异常分类:

  1. 非运行异常,使用javac命令,检查异常,编译器异常
  2. 某个方法如果抛出异常,这个方法必须声明异常的抛出。
  3. 如果调用抛出异常的方法,就必须处理异常、
  4. 运行时异常:javac命令不能对RuntimeException,java命令才能显示RuntimeException。

异常处理规则:

  1. 能够在底层处理的异常,尽量处理掉,如果处理不掉,则必须抛出给调用此方法的调用解决。
  2. 建议捕获异常的时候使用e.printStackTrace();打印到控制台,输出内容,出现异常时候的方法调用堆栈。
  3. 不应该简单的抛弃,调用有异常的方法,应积极处理异常。
  4. 尽量不要使用Exception,粗粒度处理异常。
  5. 异常处理方式,要根据业务逻辑的客观条件,依赖于业务逻辑,尽量灵活。

自定义异常

  1. 自定仪的异常类一般继承与Exception
  2. 自定义的异常类名要求是实际意义,一般都是手工继承父类的构造器
posted @ 2017-05-31 16:56  冥地魔王  阅读(119)  评论(0)    收藏  举报