黑马程序员——java基础---异常
来源:互联网 发布:德温特专利数据库网址 编辑:程序博客网 时间:2024/05/19 18:15
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、 异常:是指程序运行的过程中,产生了突发状况,会造成程序中断
程序中的突发状况一般有2种:异常、错误
1、错误
是属于系统级别的错误的发生通常是JVM在操作内存时(JVM操作内存是借
用操作系统来完成的,内存出现了错误,造成错误的发生,操作系统就把
所发生的错误反馈给JVM在开发中,一旦错误发生,就无法通过异常处理
方案来解决,只能通过修改源程序的方案来解决错误。
2、异常
异常在java中发生以后,有针对性的解决方案。异常的发生通常是在操
作数据时,由于数据运算造成异常的发生,当异常发生后,java提供了
针对异常的解决方案:声明、捕获
二、异常的分类:
1.编译时异常类:(Exception)
当在程序中出现了编译时异常类后,编译器在编译时,检查该异常
类有没有针对性解决方案(有没有书写针对这个异常类的解决代码
[捕获、声明]),有针对该异常类的解决方案(代码)就编译通过;
没有,就编译报错。
2.运行时异常类:(RuntimeException)
当程序中存在运行时异常类时,编译器在编译时不会去检查该异常类
是否有针对性的解决方案(声明或捕获代码),编译器会直接通过编译。
二者区别:
运行时异常类在编译时期,不会去检查是否有针对性的处理方案;
编译时异常类会去检查是否有针对性的处理方案。
三、异常处理方式
1、声明
使用关键字throws来声明异常类,发生异常时,自己不处理,交给别人处理
格式:修饰符 返回值类型 方法名(参数列表) throws 异常类一,异常类二……{
书写方法体中代码
}
2、捕获
使用关键字try、catch、finally,捕获是发生异常时,自己就把异常处理了
try{
书写可能会发生异常的代码
}
catch(异常类 引用对象){
书写处理异常的代码
}
finally{ //不论异常是否会发生,finally中的代码都会执行
书写最终要执行的代码
}
注:当catch捕获到try代码块中的异常后,会先跟catch中书写的异常类进行
匹配,只有匹配成功后,才会进行处理
try、catch、finally有不同的组合方式
1、try,catch,finally组合
try{
}
catch(){
}
finally{
}
2、true,catch组合
try{
}
catch(){
}
3、try,catch,catch……多重catch组合
try{
}
catch(){
}
catch(){
}
当try中发生异常后,会按照catch的书写顺序依次向下进行匹配,一但匹
配成功后,下面的catch就不执行,catch中的异常类型,从上到下必须是
从小到大的顺序
4、try{
}
finally{
}
四、继承中方法重写的异常注意
1、如果父类中的方法上没有声明编译时异常。那么子类在重写父类的这个
方法时,也不能声明编译时异常。如果子类重写方法中存在编译时异常,
那么只能使用捕获来解决,不能使用声明;
2、如果父类中方法上声明了异常类时,子类在重写父类中的这个方法时,
重写方法上只能声明和父类方法上相同的异常类或其子类。
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础--- 异常
- 黑马程序员——Java基础->异常
- 黑马程序员——Java基础-异常
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础--异常
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础-异常
- 黑马程序员——Java基础--------异常
- 黑马程序员——java基础---异常
- 黑马程序员 Java基础——异常
- 黑马程序员——Java 基础:异常
- 黑马程序员——JAVA基础----异常
- 黑马程序员—JAVA基础之异常
- 黑马程序员——java基础---Java语言中的异常
- 黑马程序员——java基础——异常
- 黑马程序员——JAVA基础——多态-异常
- 时间的格式化原型扩展
- java 双端队列
- 在shell脚本中调用另一个脚本的三种不同方法
- ubuntu下卸载mysql
- apktool官网及最新版本
- 黑马程序员——java基础---异常
- 指定月份&起始天和终止天串行提交shell命令
- 执行脚本拉去远程服务器mysql数据
- jsonp 输写格式
- <LeetCode><Easy> 189 Rotate Array
- mint
- DIV+CSS布局最基本的内容
- java 栈
- Android 性能优化之使用MAT分析内存泄露问题