文档详情

Java面向对象程序设计第08章_异常处理.ppt

发布:2017-05-21约7.09千字共33页下载文档
文本预览下载声明
【实例6-10】 运行结果为: Error: Divider is zero! 说明: 在本实例中,语句i=4/0;将产生异常,产生异常后方法p()并不作处理,而是由调用p()的方法main做处理。 3.2 throws—间接抛出异常 6.4 自定义异常 通过继承Exception类或它的子类,实现自定义异常类。 对于自定义异常,必须采用throw语句抛出异常,这种类型的异常不会自行产生。 可以通过扩展Exception类来创建异常类。 用户定义的异常同样要用try~catch捕获,但必须由用户抛出 throw new MyException。 6.4 自定义异常 【实例11】 // myException.java class myException extends Exception{ } class UserTrial{ int num1,num2; public UserTrial(int a,int b) {num1=a; num2=b; } void show() throws myException { if ((num10) ||(num20)) throw new myException(); System.out.println(Value1=+ num1); System.out.println(Value2 =+num2); } } 【实例11】 class myExceptionThrow{ public static void main(String args[]){ UserTrial trial =new UserTrial(-1,1); try { trial.show();} catch (myException e) { System.out.println(Illegal Values: Caught in main); } } } 【实例11】 代码说明: (1)在上述给出的代码里,称myException类从Exception类扩展而来。 (2)UserTrial类有一个能引发称为myException的自定义异常的方法。 (3)在 myExceptionThrow类里的 main()方法创建 UserTrial类的对象并传送错误值给构造方法。 (4)main()方法的 try块调用 show()方法。 (5)show()方法引发异常,由异常处理程序在main()方法里捕获。 (6)显示在catch 块里的消息,Illegal Values: Caught in main(非法的值:在main中俘获),被显示在屏幕上。 6.4 自定义异常 6.5 常见异常 RuntimeException Java.lang包中多数异常的基类 ArithmeticException 算术错误,如除以0 IllegalArgumentException 方法收到非法参数 ArrayIndexOutOfBoundsException 数组下标出界 NullPointerException 试图访问null对象引用 SecurityException 试图违反安全性 ClassNotFoundException 不能加载请求的类 6.5 常见异常类 NumberFormatException 从字符串到数字格式的非法转换 AWTException AWT中的异常 IOException I/O异常的根类 FileNotFoundException 不能找到文件 EOFException 文件结束 IllegalAccessException 对类的访问被拒绝 NoSuchMethodException 请求的方法不存在 InterruptedException 线程中断 NullPointerException 异常 * * Java语言程序设计 信息工程学院 Java语言程序设计 信息工程学院 信息工程学院 Java语言程序设计 信息工程学院 信息工程学院 Java语言程序设计 信息工程学院 信息工程学院 Java语言程序设计 信息工程学院 信息工程学院 Java语言程序设计 信息工程学院 信息工程学院 Java语言程序设计 信息工程学院 信息工程学院 信息类专业课程 西北农林科技大学 第八章 异常处理 导读 主要内容 异常的含义及分类 异常处理 两种抛出异常的方式 自定义异常 常见异常 难点 自定义异常 1.异常的含义 所谓异常就是程序运行时可能出现一些错误, 比如试图打开一个根本不存在的文件等 2.异常处理的必要性 传统错误处理的不足之处,主要表现为:(1)程序复杂;(2)可靠性差;
显示全部
相似文档