文档详情

第7讲 异常处理、log4j和反射.ppt

发布:2017-04-24约6.58千字共54页下载文档
文本预览下载声明
第7讲 异常处理、log4j 和反射;教学目标;1、 异常处理;(2)异常的概念 概念:异常是程序执行过程中遇到特殊条件时发生的不正常事件。(英文:exception,意思:例外) 异常事件将会中断程序的正常执行过程; Java 具有可确保在程序内处理异常的内置功能,增加健壮性。 Java的一个重要观点:一切皆对象。对异常的处理也不例外,定义了异常类,并通过异常类的实例来表示异常事件; 对异常的处理机制也成为判断一种语言是否成熟的标准; 好的异常处理机制会使程序员更容易写出健壮的代码,防止代码中Bug的蔓延。 ;ArithmeticException:除数为0时的算术异常 NullPointerException:没有给对象分配内存空间,而又去访问对象的空指针异常 FileNotFoundException:找不到文件的异常 ArrayIndexOutOfBoundsException:数组元素下标越界异常 NegativeArraySizeException:数组长度为负数异常 NumberFormatException:数据格式不正确异常 ClassNotFoundException:找不到相应类的异常 ……;这些异常类位于 java.lang包中; Java把程序运行过程中发生的错误分为两类: 错误(Error):JVM系统内部错误、资源耗尽等严重情况 异常(Exception): 其它因编程错误或偶然的外在因素导致的一般性问题。 Throwable类的父类是Object,Throwable类有两个直接类:Error和Exception。只有Throwable类的子类才可以作为一个异常被抛出。具体如下图所示:;这类错误出现时,除了终止程序外别无选择。所以,不应该抛出。;异常类的层次;常见的异常 受检(checked)异常:是指编译器要求必须处置的异常,即程序在运行时由于外界因素造成的一般性异常 未找到指定名称类的异常:java.lang.ClassNotFoundException 访问不存在文件的异常:java.io.FileNotFoundException 操作文件时发生的异常:java.io.IOException 操作数据库时发生的异常:java.sql.SQLException;非受检(unchecked)异常:是指编译器不要求强制处置的异常。一般是指因设计或实现方式不当导致的问题 错误的类型转换异常:java.lang.ClassCastException 组下标越界异常:java.lang.ArrayIndexOutOfBoundsException 空指针访问异常:java.lang.NullPointerException 除零溢出异常:java.lang.ArithmeticException;构造方法: public Exception( ) public Exception(String s) 说明:字符串s是对该异常的描述 常用方法: public String toString():返回当前异常对象信息的描述; public String getMessage():返回当前异常对象信息的详细描述; public void printStackTrace( ):用来跟踪异常事件发生时执行堆栈的内容;Java提供的异常处理机制有两种: 使用try…catch捕获异常:将可能产生异常的代码放在try语句中进行隔离,如果遇到异常,程序会停止执行try块的代码,跳到catch块中进行处理 使用throws声明抛出异常:当前方法不知道如何处理所出现的异常,该异常应由上一级调用者进行处理,可在定义该方法时使用throws声明抛出异常;Java的异常处理机制优点: 将异常处理代码和正常的业务代码分离,提高了程序的可读性,简化了程序的结构,保证了程序的健壮性; 将不同类型的异常进行分类,不同情况的异常对应不同的异常类,充分发挥类的可扩展性和可重用性的优势; 可以对程序产生的异常进行灵活处理,如果当前方法有能力处理异常,就使用try…catch捕获并处理;否则使用throws声明要抛出的异常,由该方法的上一级调用者来处理异常。;//A.java的改进版本 public class A2{ public static void main(String [] args){ int array[]={10,20,30}; int i; try{ for (i=0; i=3;i++) System.out.println(array[i]); }catch (ArrayIndexOutOfBoundsException e){ System.out.println(异常简要
显示全部
相似文档