ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:314.38KB ,
资源ID:57941      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/57941.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(张元一实验三讲解.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

张元一实验三讲解.docx

1、张元一实验三讲解实验三异常处理和文件读写【开发语言及实现平台或实验环境】Windows2000 或XP,JDK1.6与Eclipse 【实验目的】1 掌握包、接口、异常处理的设计方法。2 掌握输入输出流类。【实验要求】1. 了解Java 系统包的结构。2. 理解系统异常处理的机制和创建自定义异常的方法。3掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等。【实验步骤】一了解异常处理机制,使用trycatch 语句处理异常1异常类型匹配的处理方式(1)程序功能: 首先说明 这是一个异常处理的例子, 然后在程序中主动产生一个ArithmeticException 类型被0 除

2、的异常, 并用catch 语句捕获这个异常。最后通过ArithmeticException 类的对象e 的方法getMessage 给出异常的具体类型并显示出来。(2)编写使用 trycatch 语句处理异常的程序文件LX4_6.java,源代码如下。public class LX4_6public static void main(String args) System.out.println(这是一个异常处理的例子n);try int i=10;i /=0;catch (ArithmeticException e) System.out.println(异常是:+e.getMessage(

3、);finally System.out.println(finally 语句被执行);(3)编译并运行程序,分析说明运行结果。注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception 是ArithmeticException 的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。除数为0,被catch捕获,输出:异常是:/ by zero然后跳转到finally语句:finally 语句被执行2异常类型不匹配的程序(1)编写一个catch 语句中声明的

4、异常类型不匹配的程序LX4_7.java,源代码如下。public class LX4_7public static void main(String args) System.out.println(“这是一个异常处理的例子n”);try int i=10;i /=0;catch (IndexOutOfBoundsException e) System.out.println(异常是:+e.getMessage();finally System.out.println(finally 语句被执行);(2)编译并运行程序,分析说明运行结果。异常类型不匹配,出现错误后向上一级exception抛

5、出,IndexOutOfBoundsException若改为:Exception,则可以被catch捕获如图:3包含多个catch 子句的异常处理程序(1)程序功能:在try 子句中设计两个可能出现的异常,当a 为0 时会发生异常。另外一个是肯定的异常,因为数组c 的长度为1,定义c42是非法的。通过两个catch 子句分别来捕获异常。(2)编写包含多个catch 子句的LX4_8.java 程序,源代码如下。public class LX4_8public static void main(String args) try int a=args.length;System.out.print

6、ln(na = +a);int b=42/a;int c=1;c42=99;catch (ArithmeticException e) System.out.println(发生了被 0 除:+e);catch (ArrayIndexOutOfBoundsException e) System.out.println(数组下标越界:+e);(3)实验下面两种情况:1) 在程序运行时不输入参数,则args.length 的值为0,分析运行结果。2) 在运行程序时,输入22,分析运行结果。(1)不输入数据,参数字长为0,除数为0,捕获异常(2)输入22,参数字长为1,只申请了长22的数组,42超出

7、了范围,被第二个catch捕获抛出第二个异常二使用throw 语句抛出异常1 throw 语句的作用在上面的实验中,可以发现,异常对象是Java 运行时由系统抛出的。抛出异常也可以通过使用throw 语句实现。throw 是Java 语言的关键字,用来告知编译器此处要发生一个异常。throw 后面要跟一个新创建的异常类对象,用于指出异常的名称和类型。throw 语句格式为: ;程序会在throw 语句处立即终止,转向trycatch 寻找异常处理方法,不再执行throw 后面的语句。2 throw 语句的使用(1)编写带有throw 语句的程序,源代码如下。public class LX4_9

8、 static void throwProcess() try throw new NullPointerException(空指针异常);catch (NullPointerException e) System.out.println(n 在 throwProcess 方法中捕获一个+e.getMessage();throw e;public static void main(String args) try throwProcess();catch (NullPointerException e) System.out.println(再次捕获:+e);(2)编译并运行程序,分析程序运行

9、流程。Try语句抛出异常e,被catch语句捕获后输出 :在 throwProcess 方法中捕获一个空指针异常并再次抛出,之后再次被捕获输出:再次捕获:java.lang.NullPointerException: 空指针异常三使用throws 子句1throws 子句的作用throws 子句一般用来表明在使用该方法时可能抛出异常但不捕获的异常。异常由系统来处理。throws 子句也可以指出抛出异常是RuntimeException 或自定义异常类,即异常的类型,以便准备调用其它方法捕获它,这种情况一般需要两个方法来分别处理抛出异常和处理异常。2只是在方法中抛出异常的程序对于程序中无法处理的

10、异常,可以使用throws 子句在方法中抛出异常交由系统处理。(1)程序功能:在程序中打开文件a3.txt,因为该文件可能不存在或路径不对,所以存在IOException 类型异常的可能,因此这里使用throws 来抛出异常。(2)编写只是抛出异常的程序文件LX4_10.java,源代码如下。import java.io.*;public class LX4_10public static void main (String args) throws IOExceptionFileInputStream fis = new FileInputStream(a3.txt);(3)编译并运行程序,

11、如果该文件在当前目录中不存在,将由系统自动给出异常报告。 该目录中文件不存在,系统给出错误:Exception in thread main java.io.FileNotFoundException: a3.txt (系统找不到指定的文件。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:138) at java.io.FileInputStream.(FileInputStream.java:93) at LX4_10.main(LX4_10.j

12、ava:7)3带有捕获处理的throws 子句(1)程序功能:在这个程序中的mathod 方法中使用throws 子句抛出异常,在main 方法中捕获处理异常。(2)TC6.java,源代码如下。import java.io.*;public class LX4_11static void mathod() throws IllegalAccessException System.out.println(n 在 mathod 中抛出一个异常);throw new IllegalAccessException();public static void main(String args) try

13、mathod();catch (IllegalAccessException e) System.out.println(在 main 中捕获异常:+e);(3)编译并运行程序。Main中执行mathod()抛出错误,被catch捕获输出:在 main 中捕获异常:java.lang.IllegalAccessException四使用输入输出流类1. 使用标准数据流的应用程序标准数据流指在字符方式下(如DOS 提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。(1)程序功能:将键盘上输入的字符在

14、屏幕上显示出来。(2)编写LX5_3.java 程序文件,源代码如下。class LX5_3public static void main(String args) throws java.io.IOException byte buffer=new byte10;System.out.println(从键盘输入不超过10 个字符,按回车键结束输入:);int count =System.in.read(buffer);/读取输入的字符并存放在缓冲区buffer 中System.out.println(保存在缓冲区buffer 中元素的个数为:+count);System.out.println(buffer 中各元素的值为:);for (int i=0;icount;i+)System.out.print( + bufferi);/在屏幕上显示buffer 元素的值System.out.println();System.out.println(输出buffer 字符元素:);System.out.write(buffer, 0, buffer.length);(3)编译LX5_3.java 文件。在命令提示符窗口运行LX5_3.class 文件,并输入1234,分析结果

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1