文档详情

Java语言程序设计 工业和信息化普通高等教育“十二五”规划教材 教学课件 作者 相洁 呼克佑 第6章 异常处理.ppt

发布:2017-08-15约1.83万字共47页下载文档
文本预览下载声明
6.3 自定义异常类 除了可以使用java包中预定义的异常类,Java还允许自定义异常类来处理特殊的情况。用户自定义异常类主要用来处理用户程序中特定的逻辑运行错误。 自定义异常类一般都是以Exception类为父类。 自定义异常类对象只能用throw语句抛出。 【例6-8】自定义异常类举例。 import java.util.Scanner; public class Ex6_8_DefineException { public static void main(String[] args) { final int MIN=25,MAX=40; Scanner scan=new Scanner(System.in); OutOfRangException problem=new OutOfRangException(); System.out.print(输入+MIN+至+MAX+之间的整数:); try{ int value=scan.nextInt(); if(valueMIN||valueMAX) throw problem; //抛出自定义异常 }catch(OutOfRangException e){ System.out.println(e.toString()); } System.out.println(主方法结束.); } } //自定义一个异常类,类名为:OutOfRangException class OutOfRangException extends Exception{ OutOfRangException(){ super(输入数据超出范围!); } } 6.3 自定义异常类 程序中用户自定义了一个异常类OutOfRangException,继承了Exception类,只有一个不带参数的构造方法。当然,可以有更多的数据成员和方法成员,以满足用户的需要。 运行该程序时,主方法读入一个整数,检测该数据是否在有效值范围内,如果超出有效值范围,将执行throw语句,抛出一个用户自定义异常。 在主方法中使用throw语句显式抛出异常,如果不使用try-catch-finally语句捕获和处理,则必须在主方法说明中增加异常抛弃声明:throws OutOfRangException ,否则有编译错误提示。 6.3 自定义异常类 6.4 综合应用 下面是两个Java程序中处理异常的实例,以说明异常处理的应用。 【例6-9】根据输入的元素位置值查找数组元素的值。 import java.io.*; public class Ex6_9_ExceptionDemo { public static void main(String[] args){ int arr[]={100,200,300,400,500,600}; String index; int position; BufferedReader inputReader = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.print(输入序号(输入end结束):); try{ index=inputReader.readLine(); //可能产生异常 if(index.equals(end)) break; position=Integer.parseInt(index); //可能产生异常 System.out.println(元素值为:+arr[position]); //可能产生异常 }catch(ArrayIndexOutOfBoundsException e){ System.out.println(数组下标越界!); }catch(NumberFormatException e){ System.out.println(请输入一个整数!); }catch(IOException e){} } System.out.println(程序运行结束.); } } 6.4 综合应用 程序运行情况如下: 输入序号(输入end结束):3 元素值为:400 输入序号(输入end结束):a1 请输入一个整数! 输入序号(输入end结束):5 元素值为:600 输入序号(输入end结束):7 数组下标越界
显示全部
相似文档