java公开课-04-异常

一.异常的概念:java

  程序在运行时,发生了咱们没有预测的状况,它阻止了程序按照咱们预期效果执行!数据库

二.全部异常和错误的父类--(Throwable)jvm

  Throwable类是Java异常类型的顶层父类,一个对象只有是Throwable类的()直接或者间接)实例,他才是一个异常对象,才能被异常处理机制识别.JDK中內建了一些经常使用的异常类,咱们          也能够自定义异常.函数

  1.Excetion--异常指针

    (1).运行时异常(RuntimeExction):在程序运行期间产生的异常.对象

      01:ArithmeticException--数学异常继承

      02:InputMismatchException--输入类型不匹配异常文档

      03:NullPointException--空指针异常.数学

    (2).受查异常(checked Excetion):在程序编译期间产生的异常.it

      01:IOException--.IO异常

      02:EOFException--.意外获取文件尾端,获取失败

      03:FileNotFoundException--文件不存在异常

      04:ClassNotFoundException--类不存在异常.

  2.Error--错误

    (1):VirtualMachineError.

      01:OutOMemoryError

      02:StactOverFlowError.

    (2):AWTError:

三.try..catch..finally

  1.try的使用

    (1):try代码块不能单独使用,必须和catch或者finally中的一个一块儿使用.

    (2):可能发生异常的代码.

    (3):若是try代码块中不发生异常,有finally的状况下,先执行finally,以后执行finally以后的代码.

      若是try代码块中发生异常,先去catch中匹配异常,若是匹配成功,执行对应的catch.

      不然执行finally,而后程序终止!!!

  2.catch的使用

    (1):每个catch代码块都是用于捕获并处理一个特定的异常或者是这个异常的子类!

    (2):catch(ArithmeticException ex)定义了异常类型

    (3):能够同时出现多个,可是不能重复

    (4):多个catch代码块中的异常类型书写顺序必须是从小到大

    (5):咱们的异常会从多个catch代码块中找到一个最早匹配的,而后交给这个代码块处理

    (6):每一个catch代码块中的变量都是独立的,别的代码块不能访问.

    (7):若是全部的catch代码块都不匹配,先去执行finally,以后终止程序.

    (8):若是try中没有发生异常,则全部的catch块被匹配.

    (9):java1.7的版本中支持多个异常声明在一个catch中.

  3.finally的使用:

    (1):不管发生什么异常,finally都会执行

    (2)若是try中没有异常,可是有return,这时候会先执行finally以后执行return.

    (3)若是代码中出现System.exit(int status),那么不会执行finally

      System,exit(0),正常退出.

      System.exit(非0):非正常退出.

    (4)作一些程序的清理工做,关闭流,释放数据库的链接.

四:throw throws

  1:throw

    (1)抛出的异常类型能够是Exception或者其子类!

    (2)一条throw语句只能抛出一个异常对象.

    (3)throw只能出如今方法体内

    (4)对于throw抛出的异常咱们有两种处理方式.

      01:try..catch..finally

      02.throws

  2.throws

    (1)throws声明在方法的名称以后.

    (2)throws能够声明多个,每一个异常之间使用逗号隔开,

    (3)throws声明异常,表示当前方法可能出现异常,方法的调用者来处理异常

    (4)若是在主函数main中舒勇throws,则由咱们的jvm来处理

五.异常链.

  1什么是异常链?

    (1)异常链是指将捕获的异常包装进一个新的异常中,新异常中记录了原始异常的信息,并从新抛出异常处理方式.

六:自定义异常:

  1异常类必须是Throwable的子类

  2:定义运行异常 继承RuntimeException

  3.定义受查异常 继承Exception.

七:异常的使用原则:

  1.异常只能用于非正常状况.

  2:为异常提供说明文档.

  3.尽量的避免异常,特别是运行时异常

  4:保持异常的原子性.

  5.避免过于庞大的try代码块.

  6:在catch中制定具体的异常类型

  7:不要在catch块中忽略捕获的异常.

相关文章
相关标签/搜索