• Java第六节课总结


    动手动脑:

    多层的异常捕获-1:
    ArrayIndexOutOfBoundsException/内层try-catch
    发生ArithmeticException
    多层的异常捕获-2:
    ArrayIndexOutOfBoundsException/外层try-catch
    当有多个嵌套的try…catch…finally时,要特别注意finally的执行时机。
    请先阅读 EmbedFinally.java示例,再运行它,观察其输出并进行总结。

    ##特别注意:
    当有多层嵌套的finally时,异常在不同的层次抛出 ,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。
    在Java语言的异常处理中,finally块的作用就是为了保证无论出现什么情况,finally块里的代码一定会被执行。由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return前执行(除非碰到exit函数),因此finally块里的代码也是在return之前执行的。此外,如果try-finally或者catch-finally中都有return,那么finally块中的return将会覆盖别处的return语句,最终返回到调用者那里的是finally中return的值。
     
    package classJava;
    import java.util.Scanner;
    import javax.swing.JOptionPane;
    public class AboutException {
       public static void main(String[] a)
       {
          int i=100;
          int j;
          int k;
          Scanner scan=new Scanner(System.in);
          j=scan.nextByte();
          k=i/j;
     try
     {  
      k = i/j;   
     }
     
     catch ( ArithmeticException e)
     {
      System.out.println("被0除.  "+ e.getMessage());
     }
     
     catch (Exception e)
     {
      if (e instanceof ArithmeticException)
       System.out.println("被0除");
      else
      { 
       System.out.println(e.getMessage());
       
      }
     }
     
     finally
        {
           JOptionPane.showConfirmDialog(null,"OK");
        }
     System.out.println(k); 
      }
    }
  • 相关阅读:
    软件架构的认识
    软件需求十步走读书笔记3
    软件需求十步走读书笔记2
    系统利益相关者描述案例
    项目目标文档
    《需求工程-软件建模与分析》读书笔记2
    《需求工程-软件建模与分析》读书笔记1
    专业实训题目需求分析
    2015年秋季个人阅读计划
    课程改进意见
  • 原文地址:https://www.cnblogs.com/vvxvv/p/11783677.html
Copyright © 2020-2023  润新知