Java异常处理学习
今天才开通了博客园的博客,希望可以记录自己学习的点点滴滴。最近去处理了一些私人事情,有点烦人,希望自己不要被这些破事所影响。
最近在看马士兵老师的Java基础的视频,(中断了一周)发现本科时候的胡老师讲的课和马老师好像啊,我在想胡老师是不是马老师的“信徒”呢?极有可能啊,他上课的ppt感觉就是截图的马士兵老师的ppt。我在想我们的胡老师这么厉害都是拜马士兵老师所赐,所以嘛,加油!
先把马士兵老师的ppt给放了进来,很有用。
总结一下:
1.马士兵老师已经总结的很好了,注意五个关键字,分别是try catch finally throw throws ,对主动抛异常的throw认识比较少,throw +异常对象 ,应该记住有这个写法。如下图这样的:
throw 举个领子:
throw抛出异常的方式比较直接:
if
(age <
0
){
throw
new
MyException(
"年龄不能为负数!"
);
}
来看一个例子:
package
Test;
public
class
Test2 {
public
static
void
main(String[] args) {
String s =
"abc"
;
if
(s.equals(
"abc"
)) {
throw
new
NumberFormatException();
}
else
{
System.out.println(s);
}
}
}
运行结果如下:
finally主要用于在异常发生的情况下还必须要执行的一些操作:比如关闭连接,删除临时文件等;
2.然后这张图很重要:
3.RuntimeException可以捕捉可以不捕捉,其他exception必须捕获,try后面可以跟着多个catch,先逮小的,再逮大的,就像那个那放了个很密的网,再放个空大的网肯定没用了。
4.在catch中声明的异常对象如exception e封装了异常事件发生的信息在catch语句块中可以使用这个对象的一些方法获取这些信息。如:
5.还有对于马老师视频中说的有人去面试的时候会让你写出5个以上的exception,这个平时要注意:
6.抛出异常的时候,可以不处理一直向外抛,直到抛出Java运行时系统处理,打印出堆栈信息。直接抛出exception是一种相当不好的编程习惯。
7.看到方法中有throws时,在使用它的时候必须try catch或者抛出异常。