码迷,mamicode.com
首页 > 编程语言 > 详细

java公开课-04-异常

时间:2017-10-20 21:48:34      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:自定义异常   out   ror   直接   异常   顺序   常用   mat   逗号   

一.异常的概念:

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

二.所有异常和错误的父类--(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-异常

标签:自定义异常   out   ror   直接   异常   顺序   常用   mat   逗号   

原文地址:http://www.cnblogs.com/buai/p/7701163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!