异常处理(简易慨念(基础))
来源:互联网 发布:淘宝酷卡体育正品虎扑 编辑:程序博客网 时间: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抛出了一个异常对象,而没有被处理的后果
程序在执行过程中出现的问题
异常出现后,后面的程序不会在执行
出现异常怎么处理
避免异常
抛出异常并处理
使用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抛出了一个异常对象,而没有被处理的后果
程序在执行过程中出现的问题
异常出现后,后面的程序不会在执行
阅读全文
0 0
- 异常处理(简易慨念(基础))
- python异常处理(基础)
- python异常处理(基础)
- java 基础(异常处理)
- python异常处理(基础)
- C++ 异常处理基础(1)
- (C#基础)异常处理二三事
- C++ 异常处理(基础篇)
- java 基础:异常处理(六)
- JavaSE基础--(四)异常处理
- JavaSe基础(22)-- 异常与处理
- java基础之异常处理(一)
- 异常处理基础(C#参考)
- Java基础-异常处理(二)
- Java基础(十)异常处理
- Python基础(九)- 异常处理
- java基础学习(三)--异常处理
- android基础篇------------java基础(8)(异常处理)
- java实现页式存储管理
- 写在最前面
- Unity开发HTC vive 一、手柄按钮
- java实现页面替换算法(LRU、LFU、FIFO)
- 堆和栈、sizeof(void*)
- 异常处理(简易慨念(基础))
- 1053. 住房空置率 (20) PAT乙级真题
- Canvas 入门7 简单精灵创建
- react-native功能支持汇总
- 有哪些自媒体平台?
- Django 网络框架使用(七)
- Python 3.6 解决 unable to find vcvarsall.bat
- recv函数返回值
- pygame库写游戏——入门<3>——游戏显示