zoukankan      html  css  js  c++  java
  • 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); 
      }
    }
  • 相关阅读:
    Nginx 日志切割-定时(附数据库数据备份)
    安装Nginx
    系统自适应限流
    黑名名单控制-sentinel
    热点参数的流量控制
    流量控制文档说明
    在Linux中输入命令时打错并按了enter
    配置maven环境
    项目层次展示
    寻找cmd的管理员运行
  • 原文地址:https://www.cnblogs.com/vvxvv/p/11783677.html
Copyright © 2011-2022 走看看