JAVA异常PPT(精)

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

Java的异常处理机制
1、抛出异常
• 当正在运行的程序或JVM发现异常时, 会创建一个代表该异常事件的异常对 象,然后将该对象传递给Java运行时 系统。这一过程被称为抛出异常 (Throw Exceptions)。
2、捕获异常
• 得到一个异常对象后,Java运行时系统 会自动地寻找处理该异常的代码。寻找 过程从抛出异常的方法开始,如果找不 到,则沿着方法的调用栈逐层回说溯, 直到发现能处理该类型异常的代码,然 后Java运行时系统把该异常对象传递给 这个代码处理。这一过程被称为捕获异 常(Catch Exceptions)。
异常 Exception
1. 什么是异常 2. Java的异常处理机制 3. 异常的分类 4. 对checked异常的处理
什么是异常 ?
• 异常 是指在程序执行时出现的、中断 正常指令流的事件。
ClassNotFoundException NoSuchMethodException
ArithmeticException NullPointerException FileNotFoundException
方法调用栈
捕获异常
参考代码
Java异常处理的优点
1. 分离“正常”代码和异常处理 代码 2. 将异常对象沿着调用栈传递 3. 分门别类的处理异常
“正常”指令流
readFile { open the file; determine its size; allocate that much memory; read the file into memory; close the file; }
//使用异常处理机制 readFile { try { open the file; determine its size; allocate that much memory; read the file into memory; close the file; } catch (fileOpenFailed) { doSomething; } catch (sizeDeterminationFailed) { doSomething; } catch (memoryAllocationFailed) { doSomething; } catch (readFailed) { doSomething; } catch (fileCloseFailed) { doSomething; }
找不到类 找不到方法
算数异常 空指针异常 找不到文件
IndexOutOfBoundsException 下标越界
StackOverflowError
OutOfMemoryError
堆栈溢出
内存溢出
考虑异常?
• 练习题或个人作品
可以只考虑正常的程序流程
• 商业开发(企业级):
必须在程序中考虑各种异常事件,以 获得健壮性。
//考虑异常事件,但不使用异常处理机制 readFile { initialize errorCode = 0; open the file; if (theFileIsOpen) { determine the length of the file; if (gotTheFileLength) { allocate that much memory; if (gotEnoughMemory) { read the file into memory; if (readFailed) { errorCode = -1; } } else { errorCode = -2; } } else { errorCode = -3;
异常的分类
Error、Exception、RuntimeException
checked异常的处理
Checkedቤተ መጻሕፍቲ ባይዱException
• 编译器强制要求处理 • 非RuntimeException
• 处理办法: (1)使用try-catch-finally语句捕获

(2) 使用throws子句,声明抛弃
相关文档
最新文档