java异常

来源:互联网 发布:oracle数据库日常备份 编辑:程序博客网 时间:2024/06/06 00:19
异常
定义:(异常就是导致程序终止的一种指令流,异常会使程序终止执行)


1:异常的体系:
1.1:Throwable


1.1.1:error


1.1.1.1:通常不会出现重大问题如:运行的类不存在或者内存溢出等。

1.1.1.2:不编写针对代码对其处理


1.2:Exception

1.2.1:在运行时出现的一些情况,可以通过try catch finally处理


2:Exception和Error的子类名都是以父类名作为后缀


3:throwable中的方法

3.1 getMessage()

.获取异常信息,返回字符串

3.2 toString()
.获取异常名和异常信息,返回字符串


3.3printStackTrace
.获取异常名和异常信息,以及异常出现在程序中的位置,返回值void.

4:throws和throw

4.1:throws用于标示函数暴露出的异常(声明可能会出现异常)。


4.2:throw用于抛出异常对象。(具体实例)。

4.3:throws与throw的区别:

.throws用在函数上,后面跟异常类名。


.throw用在函数内,后面跟异常对象


5:异常处理原则:谁调用谁处理

6:异常处理结构


try
{
需要检测的代码;
}
catch(异常类 变量)
{
异常处理代码;
}
finally
{
一定会执行的代码;(需要异常处理后执行的代码)
}
注意:finally代码块只有一种情况不会被执行,就是在之前执行了System.exit(0).

7:自定义异常

.自定义异常继承Exception或者其子类。


.通过构造函数定义异常信息。

例:calss DemoException extends Exception


{
DemoException(String message)
{
super(message);
}
}
.通过throw将自定义异常抛出。

8:异常细节

8.1 RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数声明。


8.2 一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。


8.3 变量异常作用域只对就近花括号有用。

8.4 如果父类抛出多个异常,那么覆写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常。




0 0