java异常处理PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使我re们ad在-F一ile个; 地方将精力集中在要解决的问题上,而在另一个
地c方lo处se理Th来eF自ile那; 部分代码的异常情况。
}
catch (fileopenFailed)
{ dosomething; }
try { //Code that may make exception }
catch (sizeDetermineFailed) { dosomething; }
{ dosomething; }
catch (fileCloseFailed)
{ dosomething; }
finally
2020年8月1日星期六
{ dosomething; }
8
NCEPU
Java的异常处理机制
❖ Java异常是Java提供的用于处理程序中错误的一种机制。 ❖ 所谓错误是指在程序运行过程中发生的一些异常事件(如:
没有错误处理的程序
{
openTheFile;
determine its size;
allocate that much memory;
read-file
closeTheFile;
}
2020年8月1日星期六
5
NCEPU
以常规方法处理错误
openFiles; if (theFilesOpen) { determine the length of the file;
并且将实现功能(事务逻辑)与 错误处理分开来
catch (fileopenFailed)
{ dosomething; }
catch (sizeDetermineFailed) { dosomething; }
catch (memoryAllocateFailed) { dosomething; }
catch (readFailed)
异常机制
NCEPU
整体 概述
一 请在这里输入您的主要叙述内容

请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
2020年8月1日星期六
2
异常的概念
❖ 在进行程序设计时,错误的产生是不可避免的 ▪ 如何处理错误? ▪ 把错误交给谁去处理? ▪ 程序又该如何从错误中恢复?
❖ 这是任何程序设计语言都要解决的问题
else errorCode=-5;
2020年8月1日星期六
6
NCEPU
以常规方法处理错误存在的问题
➢程序可读性差,大量的错误处理代码混杂在程序中 ➢观察前面的程序,会发现大部分精力花在出错处理上 ➢只把能够想到的错误考虑到,此外的情况无法处理 ➢出错返回信息量太少,无法更确切的了解错误状况或原因
除0溢出,数组下标越界,所要读取的文件不存在)。 ❖ 设计良好的程序应该在异常发生时提供处理这些错误的方
法,使得程序不会因为异常的发生而阻断或产生不可预见 的结果。
2020年8月1日星期六
9
NCEPU
Java的异常处理机制
❖ Java程序的执行过程中如出现异常事件,可以生成一个异 常类对象,该异常对象封装了异常事件的信息并将被提交 给Java运行时系统,这个过程称为抛出(throw)异常。
❖ 当Java运行时系统接收到异常对象时,会寻找处理这一异 常的代码并把当前异常对象交给其处理,这一过程称为捕 获(catch)异常。
2020年8月1日星期六
10
wk.baidu.com
NCEPU
try
{ oCpaentTchheFailen; exception
determine its size;
❖ Jaavlalo的ca异te常th机at制m的u好ch处memory;
2020年8月1日星期六
7
NCEPU
try
{ o用pen异Th常eFi的le;形式处理try错里写误我们尝试着要做的事情,
determine its size; 每一个catch针对一种可能的错误
allocate that much me每mo一ry个; 错误都有相应的处理办法,
read-File; closeTheFile; }
2020年8月1日星期六
3
NCEPU
异常的概念
所谓错误,是在程序运行过程中发生的异常事件,比 如除0溢出、数组越界、文件找不到等,这些事件的 发生将阻止程序的正常运行。为了加强程序的强壮性 (robust),程序设计时,必须考虑到可能发生的 异常事件并做出相应的处理。
2020年8月1日星期六
4
NCEPU
➢ 异常处理机直接管,开始寻找一个合适的地方来继续
执行
2020年8月1日星期六
12
NCEPU
异常机制的优点
➢ 把错误处理代码从常me规th代od码4 中分离出来 探测抛出异常
调 method3 传
➢ 按错误类型分用组(类meEtxhocde2ptio递n,派生)
method1
捕获处理异常
➢ 对无法预测的错误可以捕获和处理(基类,所有的异常
类都是Exception类的子类 )
➢ 克服了传统方法错误信息有限的问题(getMessage)
➢ 把错误传播给调用堆栈(比较:全局变量,返回值)
2020年8月1日星期六
13
NCEPU
e.printStackTace();
finally
2020年8月1日星期六
{ dosomething; }
11
NCEPU
如何处理 Throw an exception
throw new NullPointerException();
异常发生时,你不能解决问题,所以必须抛出一个异常
(throw)
➢ 一个异常对象建立起来了
➢ 当前运行的路径被停止,异常对象被弹出
if (gotTheFileLength) { allocate that much memory;
if (gotEnoughMemory) { read the file into memory;
if (readFailed) errorCode=-1; else errorCode = -2; } else errorCode=-3;} else errorCode=-4 ;}
catccahtc(hTy(mpee1miodr1y)A{ll…oc}ateFailed) { dosomething; }
catccahtc(hTy(rpeea1dFida1ile){d…) }
{ dosomething; }
catch (fileCloseFailed)
{ dosomething; }
相关文档
最新文档