异常处理(简易慨念(基础))

来源:互联网 发布:淘宝酷卡体育正品虎扑 编辑:程序博客网 时间:2024/06/05 11:33
异常处理
出现异常怎么处理
避免异常
抛出异常并处理
使用try{可能出现异常的代码}catch(你想捕获的异常的类型()){处理的效果}
就算try语句中真的出现了异常,只要被抓住了,就会运行catch中的语句,然后执行try...catch意外的语句
没抓住就和常见异常一样
可以在catch语句中书写父类异常类型来抓捕,但是,该父类可以被抛,而能被抛的是throwable以及其子类||能捕获的异常最常用的父类为Exception
受保护的代码出现了异常,不会执行受保护代码中异常出现后的代码,原因是异常出现后会立即和CATCH语句中的类型比较尝试抓捕,所以会省略后面的语句
try...catch...tatch..形式:
异常对象会依次与catch的比较
找到能够抓捕的catch快就执行当前catch块语句
然后跳出try。。。catch语句块,继续执行后面的语句
/如果是多catch语句块,一般采用前面为个别子类异常来区别出现的异常类型
//而最后会写上Exception catch块来抓捕未知异常
//原因:catch块会依次对比,如果Exception在最上面,那后面的catch块就没用了
在书写过程中就需要我们进行try...catch的称为非运行时异常|检查异常
往上抛出
主要是在定义方法后,告诉调用者,调用时有可能会出现某些异常,如果可能出现的异常为运行时异常,不用强制要求捕获或者继续往上申明,如果可能出现的异常行为为检查异常,则会强制要求上一级捕获或者继续往上声明
异常声明方法:方法签名+throuws 异常类名
如过都是运行时异常,不会强制处理,如果有一个是检查异常,就会将所有的异常都进行try...catch
和异常相似的单词:throw抛出 注意:throw关键字后面只能跟跟能被抛出的对象
如果只是一个异常对象,不会出现异常,从而不会导致程序终止,只有被抛出的异常对象才会被视为异常,才能被try...catch
重写中,子类重写方法申明的检查异常个数不能比父类方法声明的大,并且个数相同时子类的异常范围不能比父类广(检查异常)
finally语句块中的代码只要进入了try语句就会执行,前提是虚拟机还在工作
finally用于try..catch..catch语句最后
注意:子类可以声明和父类同级的异常,而且看起来还可以是多个,这个怎么解释呢?
//原因是:一个方法声明多个异常,其也最多会抛出一个异常对象,所以原理上也没有比父类多
异常是类,可以创建对象,当程序被终止时,实际是JVM抛出了一个异常对象,而没有被处理的后果
程序在执行过程中出现的问题
异常出现后,后面的程序不会在执行
原创粉丝点击