程序错误解决之道──异常处理.ppt
第15章异常处理,异常的基本概念 异常类的继承架构 抛出异常 编写自己的异常类,15.1 异常的基本概念,15.1.1 为何需要异常处理15.1.2 简单的异常范例15.1.3 异常的处理15.1.4 异常处理机制的回顾,15.1 异常的基本概念,异常也称为例外,是在程序运行过程中发生的、会打断程序正常执行的事件 算术异常(ArithmeticException)没有给对象开辟内存空间时会出现空指针异常(NullPointerException)找不到文件异常(FileNotFoundException),15.1.1 为何需要异常处理 异常是在程序运行过程中发生的异常事件,为了加强程序的健壮性,在程序设计时,必须考虑到可能发生的异常事件并做出相应的处理 Java通过面向对象的方法来处理异常。在一个方法的运行过程中,如果发生了异常,则这个方法生成代表该异常的一个对象,15.1.2 简单的异常处理【范例15-1】简单的异常范例,15.1.3 异常的处理 异常处理是由try、catch与finally三个关键字所组成的程序块,其语法如下:try 要检查的程序语句;catch(异常类 对象名称)异常发生时的处理语句;finally 一定会运行到的程序代码;,15.1.3 异常的处理 语法是依据下列的顺序来处理异常 try程序块若是有异常发生时,程序的运行便中断,并抛出“异常类所产生的对象”抛出的对象如果属于catch()括号内欲捕获的异常类,则catch会捕捉此异常,然后进到catch的块里继续运行 无论try程序块是否有捕捉到异常,或者捕捉到的异常是否与catch()括号里的异常相同,最后一定会运行finally块里的程序代码,15.1.3 异常的处理【范例15-2】异常处理的使用范例【范例15-3】类对象e的使用范例,15.1.4 异常处理机制的回顾 当异常发生时,通常可以用两种方法来处理,一种是交由Java默认的异常处理机制做处理,另一种是另一种是处理方式是自行编写的try-catch-finally块来捕捉异常,15.2 异常类的继承架构,异常可分为两大类:类与类,15.3 抛出异常,15.3.1 在程序中抛出异常15.3.2 指定方法抛出异常,15.3 抛出异常,抛出异常有下列两种方式:程序中抛出异常 指定方法抛出异常,15.3.1 在程序中抛出异常 在程序中抛出异常要用throw关键字,语法如下:throw 异常类实例对象;【范例15-4】在程序中抛出异常使用范例,15.3.2 指定方法抛出异常 由方法抛出异常,则方法必须以下面的语法来声明 方法名称(参数)throws异常类1,异常类2,【范例15-5】使用指定方法抛出异常范例,15.4 编写自己的异常类,自己编写异常类的语法如下:class 异常名称 extends Exception【范例15-6】定义自己的异常类使用范例,