java公开课-04-异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java公开课-04-异常相关的知识,希望对你有一定的参考价值。

一.异常的概念:

  程序在运行时,发生了我们没有预测的情况,它阻止了程序按照我们预期效果执行!

二.所有异常和错误的父类--(Throwable)

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

  1.Excetion--异常

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

      01:ArithmeticException--数学异常

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

      03:NullPointException--空指针异常.

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

      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块中忽略捕获的异常.

以上是关于java公开课-04-异常的主要内容,如果未能解决你的问题,请参考以下文章

学习经验分享(最近听了一节Java公开课)

公开课视频-《第04章 部署-Microsoft-服务器虚拟化-Hyper-V 2012 R2》

java公开课-03-内部类

Java公开课-01.类和对象

Coursera公开课-Machine_learing:编程作业8(2016-10-06 20:49)

Java公开课-06.单例