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); 
      }
    }
  • 相关阅读:
    Android 中adb 命令(实用)
    Mac安装Scala
    使用阿里云镜像maven管理配置开发环境
    Nginx学习笔记3--Nginx和PHP(fastCGI)的配置和优化
    《实战Nginx》读书笔记--Nginx配置文件
    《实战Nginx》读书笔记
    PHP解码unicode编码中文字符代码
    yii学习笔记--使用gii快速创建控制器和模型
    yii学习笔记--配置文件的配置
    yii学习笔记--快速创建一个项目
  • 原文地址:https://www.cnblogs.com/vvxvv/p/11783677.html
Copyright © 2011-2022 走看看