7月17号笔记

2018-07-18  本文已影响12人  须臾之北

7月17日笔记

今天的主要内容:

1. 数据类型包装类

A. 基本类型
B. 相关操作(Integer为例)

2. 异常(Exception)

A. 异常分类

B. 异常处理机制try-catch-finally

  1. try-catch执行顺序问题:

    • 在try语句块中的任何代码抛出了一个在catch子句中声明的异常类,即

      ①程序将跳过try语句块的其余代码

      ②程序将执行catch子句中的处理器代码

      ③最后执行finally子句中的代码

    • 在try中没有异常,则执行完try后,再执行finally中的代码

  2. finally中return语句对try中return的影响

     public class TestFinally{
         public static void main(String[] args){
             int n = 500;
             
             System.out.println("初值为:" + n);
             
             n = test();
             System.out.println("调用test()方法后:n = " + n);
         
             System.out.println("此输出证明:若finally子句中也有一个return语句,则此时返回值会覆盖原始的try中的返回值");
         
             System.out.println("===============异常信息的获取===============");
             try{
                 throw new Exception("抛出异常");
             }
             catch(Exception e){
                 System.out.println("e.getClass().getName() : " + e.getClass().getName());
                 System.out.println("e.getMessage() : " + e.getMessage());
             }
         }
    
         public static int test(){
             
             System.out.println("=======test()方法执行中=======");
             try{    
                 System.out.println("我是try中第一条语句,我没有异常");        
                 return 0;
             }   
             finally{
                 System.out.println("此输出证明try语句中的return语句执行前会首先执行finally,然后再return");    
                         
                 return 3;
             }
         }
     }
     /*
         初值为:500
    
         =======test()方法执行中=======
         我是try中第一条语句,我没有异常
         此输出证明try语句中的return语句执行前会首先执行finally,然后再return
    
         调用test()方法后:n = 3
         此输出证明:若finally子句中也有一个return语句,则此时返回值会覆盖原始的try中的返回值
    
         ===============异常信息的获取===============
         e.getClass().getName() : java.lang.Exception
         e.getMessage() : 抛出异常
     */
    
  3. throw和throws区别

    • throw手动抛出一个异常
    • throws用在方法声明处,声明在方法上抛出一个异常,本方法的调用方法负责处理异常
  1. 异常信息获取的常见函数

    • e.printStackTrace();
    • e.getMessage(); ---错误信息
    • e.getClass().getName(); ---异常名称
上一篇 下一篇

猜你喜欢

热点阅读