一、今日学习内容:
今天学习了8.1的内容。8.1的异常声明、捕获和处理。
二、今日遇到的问题:
对于教材中提到的这些异常由于没有具体的例子展示和实例导致理解不深,且不知如何使用。
三、明日计划:
明天计划学习8.2的内容。
今天学习的具体内容如下:
1.异常机制概述
(1)程序中的错误来源:
程序中的错误 | 编译错误:编写的程序存在语法问题,未能通过编辑过程产生的错误。 |
运行错误:程序在运行过程中产生的错误 |
(2)产生异常的几种情况:
Java虚拟机检测到了异常,可能的情况有: |
(1)表达式的计算违反了Java的语义,如零被整除。 (2)超出了某些资源限制,如占用了太多内存 |
Java程序代码中的throw语句被执行 | |
异步异常发生,可能原因: |
(1)Tread中的stop方法被调用 (2)Java虚拟机内部错误发生。 |
(3)异常处理的几个关键字
Java异常处理通过5个关键字管理,try catch throw throws finally
java中的异常类中有一个父类叫做Trowbale,其下面有两个子类分别是Error类和Exception类。
Error异常 | 通常是指不能通过代码来解决的问题,是底层环境或硬件问题。 | linkageError(结合错误):linkageError类包括一些常用子类 |
VitualmachineError(虚拟机错误):当Java虚拟机崩溃或用尽了它的资源时抛出该错误,VitualmachineError类包括一些常用子类。 | ||
Exception异常 | 程序运行过程中的意外情况,通常在运行中捕获的是Exception类及其子类的异常。 |
(1)运行时异常:继承自RuntimeException,Java编译器允许程序不做处理,包括一些常用子类。 (2)非运行时异常:在java.lang类库中定义,Java编译器要求程序必须捕获或声明抛弃这种异常。 |