java基础--异常处理

一.异常处理的类

Throwable(所有异常的父类)
两个子类  Error(系统崩溃 数据库崩溃)
              Exception(异常)
                   --RuntimeException(运行时异常)
main函数中出现异常
可以自己处理,也可以交给上一级(谁调用的)处理,也就是JVM.
JVM默认的处理异常方式
1.打印错误所在位置
2.打印错误信息
3.停止你的程序

二.异常发生了如何解决

try.... catch .... finally
try 指的是要被测试的代码(有可能发生异常的代码)

catch 指的是要捕获的异常
catch(异常类 e){
}
多catch的处理异常
由上至下进行匹配 匹配上一个,剩下的catch就都不走了
catch捕获时使用的类由小到大书写

finally 指的是异常出现后要执行的代码,一定会执行,用于关闭数据库,关闭流.

final finally finalize区别
final(绝育) 修饰类 方法 变量
finally 异常处理中的关键字 可以关闭资源一定会被执行
finalize object类的方法 用来垃圾回收的 可以将内存中没有任何引用的垃圾空间回收

try—catch捕获异常流程:
 1.某个方法 出现了异常
 2.产生一个异常对象
 3.这个异常对象要返回给方法的调用者
 4.调用者接到这个异常 进行处理
 方式一:抛给上级去处理
 抛给JVM处理 调用JVM的默认处理机制 程序被停止
方式二:自己处理    try—catch处理
 接到异常后 使用catch进行匹配
 匹配成功后 执行catch中的语句
 并且没有终止程序 程序继续运行

三.throw 与 throws

throw 抛出异常对象       写在方法中
throws 标识这个方法会抛出异常  写在方法的声明上

四.异常的分类

1.运行时异常(程序员犯得错误 代码写错了 比如越界)
2.编译时异常(除了运行时异常都是编译时异常)
    特点:系统强制你去处理异常(不处理就报错)

五.继承中的异常

如果父类方法没有抛出异常,那么子类在重写父类该方法时,不能抛出异常,只能自己try--catch解决
如果父类方法抛出异常,那么子类在重写父类方法时也可以抛出异常

猜你喜欢

转载自blog.csdn.net/hehanhh/article/details/80440927