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);
     }
   }
  
 }

运行结果如下:

20151112173833696.png (651×179)


finally主要用于在异常发生的情况下还必须要执行的一些操作:比如关闭连接,删除临时文件等;

2.然后这张图很重要:

3.RuntimeException可以捕捉可以不捕捉,其他exception必须捕获,try后面可以跟着多个catch,先逮小的,再逮大的,就像那个那放了个很密的网,再放个空大的网肯定没用了。

4.在catch中声明的异常对象如exception e封装了异常事件发生的信息在catch语句块中可以使用这个对象的一些方法获取这些信息。如:

5.还有对于马老师视频中说的有人去面试的时候会让你写出5个以上的exception,这个平时要注意:

 6.抛出异常的时候,可以不处理一直向外抛,直到抛出Java运行时系统处理,打印出堆栈信息。直接抛出exception是一种相当不好的编程习惯。

7.看到方法中有throws时,在使用它的时候必须try catch或者抛出异常。

 

原文地址:https://www.cnblogs.com/imqsl/p/6059610.html