二哥啊

导航

 

Erro:Java虚拟机无法解决的严重问题

Exception:其他因编程错误或偶然的外在因素导致的一般性问题 如控指针访问,试图读取不存在的文件,网络连接中断,数组下标越界

 

异常的体系结构

 java.lang.Throwable

  ----java.lang.Error

  ----java.lang.Exception

        编译时异常 checked

            IOException

              FileNotFoundException

            ClassNotFoundException

        运行时异常 unchecked

 

Java异常处理   抓抛模型

  将异常处理的程序代码集中在一起,与正常的程序代码分开,使得程序简洁优雅易于维护

  过程一:抛 程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象,并将次对象抛出。一旦抛出对象以后,其后的代码就不再执行。

  过程二:抓  1.try-catch-finally 能处理    2.throws+异常类型 不能处理

try{

 可能出现异常的代码 

}catch(异常类型1 变量名1){

}

finally{

  一定会执行的代码

}

 

说明

 1.finally是可选的

2.使用try将可能出现异常的代码包装起来,在执行过程中,就会生成一个对应异常类的对象,根据此对象的类型,去catch中进行匹配。

3.一旦try中的异常对象匹配到一个catch时,就进入catch中进行异常的处理。一旦处理完成,就跳出当前的try-catch结构(没写finally)继续执行后面代码。

4.catch的异常类型若干没有子父类关系,声明在上或下无所谓。

  catch中的异常类型如果满足子父类,则要求子类一定声明在父类的上面。

 5.常用的异常处理方式: String getMessage()      printStackTrace()

6.在try结构中声明的变量,再出了try结构以后,就不能再被调用

可以先声明 

 

如果父类中被重写的方法没有throws方式处理异常,则子类重写的方法也不能使用throws,意味着子类重写的方法中有异常,必须使用try=catch=finally

手动抛出异常 throw

posted on 2019-11-26 14:19  二哥啊  阅读(75)  评论(0编辑  收藏  举报