黑马程序员技术交流社区
标题:
黑马随堂记day08
[打印本页]
作者:
丶唯萌Pro
时间:
2017-10-26 21:39
标题:
黑马随堂记day08
异常的概述和体系结构:
我们在写代码的时候,经常出现一些小问题,
那么为了方便我们处理这些问题,java为我们提供了异常机制
异常:不正常,我们在代码的时候出的的编译或者运行时的错误。
异常包含了错误的类型,原因以及位置
异常的体系结构:
Throwable(最顶层)
Error
出现的不能够处理的严重问题
Exception
可以处理的问题
异常的处理方式
捕获处理
try{
有可能出现问题的代码;
}catch(异常对象 e){
处理异常;
}
抛出
当我们不想处理异常,或者没有能力处理的时候,我们可以选择抛出异常谁调用方法谁处理异常
使用关键字throws在方法的声明处抛出异常。
jvm处理异常的方式:
如果出现异常没有处理,jvm会帮我们处理,他会吧异常
的类型,元还有位置显示在命令行,并且还终止了
程序,异常后面的代码将不再执行
try...catch的执行顺序:
首先执行try语句
如果发现异常,异常下面不再执行,直接跳到catch语句中
catch语句结束后,整个try...catch结束
如果没有发现异常,try语句执行结束后,try...catch直接结束,不再执行catch里语句体
如何处理多个异常:
可以使用多个try...catch语句
使用一个try和多个catch
多个catch之间的顺序:
多个catch之间可以有子父类
平级之间没有顺序关系
如果有子父类,父类必须放在最后面
Throwable的常用方法:
String getMessage():错误信息|原因
String toString():类型和原因
void printStackTrace():类型,原因和位置
try...catch和抛出的区别:
try...catch:后的语句可以运行
抛出是直接结束
finally:组合try...catch使用,用于释放资源等收尾工作,无论try...catch语句如何执行,finally的代码一定会执行。
try{
有可能出现问题的代码;
}catch(异常对象){
处理异常;
}finally{
释放资源;
清理垃圾;
(做一些收尾的动作)
}
异常的分类:
运行时期异常:
RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理。
在 Java 虚拟机正常运行期间抛出的异常的超类
编译时期异常;
在编译时期必须处理,是Exception的子类,非RuntimeException的子类。
递归的概述:
求5的阶乘。
5! = 5*4*3*2*1;
把大问题拆成很多小问题,然在再把小问题拆成更多小问题
当我们吧更多的小问题解决了,小问题也解决了
随着小问题的解决,大问题也随之解决了
在方法本身不断调用方法自己
递归注意事项:
递归一定要有出口,内存溢出
递归多次不宜过多,内存溢出
Landlords.zip
2017-10-26 21:38 上传
点击文件名下载附件
1.1 KB, 阅读权限:
1
, 下载次数: 42
递归案例代码
作者:
qq87438004
时间:
2017-10-28 17:26
飘过``````````
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2