异常
今天讲了异常,老师讲的很详细,感觉上听懂了.
程序异常;
异常:程序在运行过程出现的不正常情况
很多异常类堆积起来,就形成了java中的异常体系
Throwable(父类)
Error(子类) Exception(子类)
*** 先学Throwable
Therowable 是所有异常的类
主要学习三个技能()
getMessage() :获取错误的详细信息
toString() :返回当前类名+完整错误信息
PrintStackTruce() : 打印异常的栈信息
看图
=============================
========================================================================
一:
异常处理的方式:
方式一:捕获异常
方式二:抛出异常
1.1捕获异常的格式
try{
//可能会出现错误的代码块
}
catch(){
//处理对应的异常代码块
}
还要注意:
1.处理了异常,try - catch 块外面的代码可以正常运行
2如果在 try块中 出现了异常的代码,那么在try块中 异常代码后面的代码 不会被执行,
3.catch要指定捕获异常的类型
4.catch后面不能只用Exception,因为同类型的异常应该有不同的处理方式.
1.2finally
* finally前提是要有try
*.finally 的代码是在任何情况下都会执行的, 不管try里面有没有遇到异常
方式二:
抛出异常 :throw throws
问题:抛出异常的处理在什么时机下使用?
1.如果你需要通知 异常代码块的调用者 这个代码出现了异常,那么我们使用抛出异常的方式 来进行通知
2.如果你的代码,是直接跟用户交互的,遇到异常,千万不要抛出异常,已经捕获到它并且处理它。
因为你的代码的上一层就是用户的话,那么如果你还抛出这个异常,是直接抛给用户了,那么用户收到这个异常,用户会关闭你的页面或者程序降低了用户体验,应该避免的情况
总结:①学了异常还是感觉怪怪的,虽然老师说了什么时候用,但是现在只是简单的输出,还没到跟深层次的
② 有时候感觉加了异常代码又很复杂了
③ 看了那个配置log4J日志,感觉到了英语的总要性