- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java例外处理45
第5章 Java例外处理 ;5.1 异常的基本概念 ; ⑤ 算术运算错 (数的溢出,被零除…)
⑥ 数组下标越界
……
当Java程序出现以上的错误时,就会在所处的方法中产生一个异常对象。这个异常对象包括错误的类型,错误出现时程序的运行状态以及对该错误的详细描述。下面我们先看一个简单的例子。
;例5.1
public class ExceptionDemo {
public static void main(String args[]) {
int x=100;
System.out.println(The result is+x/10);
System.out.println(Divided by zero: +x/0); } } ;当我们对其编译后运行时,其对应的结果如下:
c:\jbuilder3\java\binjava Exception Demo
The result is10
Exception in thread main java.lang.Arithmetic Exception: / by zero
at Exception Demo.main(Exception Demo.java:5)
其意思是说,本程序执行到语句“System.out.println (Divided by zero: +x/0)”时,系统会抛出一个例外,该例外在Java中定义为Arithmetic Exception (即属于算术运算例外)。 ;5.2 异常的处理机制; (2) 当程序出现错误时,采用捕捉-抛出(catch-throw)的面向对象编程方式。该种方式是当程序运行出错时,系统和程序抛出各种标准类型的错误,程序捕捉该错误并进行相应处理。由于异常均以标准的形式提供,使得程序员能以统一的方式对异常进行处理。
通常,Java的出错与异常处理采用“try, catch, throws”语句来实现,下面我们分别加以介绍。
;5.2.1 异常的直接捕获与处理:try-catch
try-catch语句构成Java对异常直接处理的基本处理单元,其一般语法如下:
try { program where
… errors may arise
} catch (ExceptionClass1 c) {
what to do with it
} catch (ExceptionClass2 d) {
what to do with it }
; 上述用法中,可能出现异常的语句放在由try语句所括住的程序块中。try块管理其所包含的语句并定义与之相关的异常指针范围,它的后面必须至少接一个catch语句。catch语句块负责处理各对应类型的异常。
实际编程过程中,如果我们对程序代码可能出现的异常不进行捕获,Java的编译环境就拒绝执行,并要求用户对其作出处理。看下例:
; 例5.2
import java.io.*;
public class ExceptionDemo1 {
public static void main(String args[]) {
int i;
FileInputStream fis=new FileInputStream(file_in.txt);
;FileOutputStream fos=new FileOutputStream(file_out.txt);
while(i=fis.read())!=-1)
fos.write(i);
fis.close();
fos.close(); } }
例5.2只是一个简单的文件输入/输出程序。该程序中定义了一个文件输入流和文件输出流,然后通过它们进行文件的拷贝。 ;当上述程序进行编译的时候,结果如下:
c:\JBUILD~1\java\binjavac ExceptionDemo1.java
ExceptionDemo1.java:5: Exception java.io.FileNotFoundException must be caught,
or it mus
您可能关注的文档
- I-DEAS_CAD基础培训-1.ppt
- IPMP培训纲要(第四部分项目计划与控制下).ppt
- iso10002质量管理——顾客满意《组织处理投诉指南》报告.ppt
- ISO14000内审员培训教程.ppt
- ISO14001内审员培训讲义.ppt
- ISO140012004内审员培训.ppt
- ISO17025实验室质量体系的建立与运行.ppt
- ISO9000内审员考试学习资料_教案上.ppt
- ISO90002005质量管理体系基础知识导入培训.ppt
- iso9000基础知识教材(修正稿).ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)