zoukankan      html  css  js  c++  java
  • 10月27日动手动脑

    1.运行AboutException.java

    import javax.swing.*;

    class AboutException {
    public static void main(String[] a)
    {
    int i=1, j=0, k;
    k=i/j;


    try
    {

    k = i/j; // Causes division-by-zero exception
    //throw new Exception("Hello.Exception!");
    }

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

    }
    }

    结果:

     2.运行catchwho

    public class CatchWho
    {
    public static void main(String[] args)
    {
    try
    {
    try
    {
    throw new ArrayIndexOutOfBoundsException();
    }
    catch(ArrayIndexOutOfBoundsException e)
    {
    System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch");
    }

    throw new ArithmeticException();
    }
    catch(ArithmeticException e)
    {
    System.out.println("发生ArithmeticException");
    }
    catch(ArrayIndexOutOfBoundsException e)
    {
    System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch");
    }
    }
    }

    结果:

    ArrayIndexOutOfBoundsException/内层try-catch
    发生ArithmeticException

    3.运行catchwho2

    结果:ArrayIndexOutOfBoundsException/外层try-catch

    结论:多个try catch嵌套先从上到下逐层运行并抛出对应的异常

    4.运行


    public class EmbededFinally
    {


    public static void main(String args[])
    {

    int result;

    try
    {

    System.out.println("in Level 1");


    try
    {

    System.out.println("in Level 2");
    // result=100/0; //Level 2

    try
    {

    System.out.println("in Level 3");

    result=100/0; //Level 3

    }

    catch (Exception e)
    {

    System.out.println("Level 3:" + e.getClass().toString());

    }


    finally
    {

    System.out.println("In Level 3 finally");

    }


    // result=100/0; //Level 2


    }

    catch (Exception e)
    {

    System.out.println("Level 2:" + e.getClass().toString());

    }
    finally
    {

    System.out.println("In Level 2 finally");

    }

    // result = 100 / 0; //level 1

    }

    catch (Exception e)
    {

    System.out.println("Level 1:" + e.getClass().toString());

    }

    finally
    {

    System.out.println("In Level 1 finally");

    }

    }

    }

    结果:

    in Level 1
    in Level 2
    in Level 3
    Level 3:class java.lang.ArithmeticException
    In Level 3 finally
    In Level 2 finally
    In Level 1 finally

    结论:异常逐层抛出,同时final语句块先结束最里层的异常再逐级往外结束。

    5.运行SystemExitAndFinally.java


    public class SystemExitAndFinally
    {


    public static void main(String[] args)

    {

    try
    {


    System.out.println("in main");

    throw new Exception("Exception is thrown in main");

    //System.exit(0);


    }

    catch(Exception e)

    {

    System.out.println(e.getMessage());

    System.exit(0);

    }

    finally

    {

    System.out.println("in finally");

    }

    }


    }

    结果:

    in main
    Exception is thrown in main

    结论:

    catch(Exception e)

    {

    System.out.println(e.getMessage());

    System.exit(0);

    }中将System.exit(0)会退出程序导致final语句块不执行,只要不退出,final就会执行。

  • 相关阅读:
    垂直渐变的Button
    winform下重画ListBox
    分享一个 C# Winfrom 下的 OutlookBar 控件的使用
    颜色下拉菜单(combox)
    Robot Framework 使用技巧 快捷键
    Batch 拷贝远程机器文件到本机指定目录下
    JMeter常用函数 使用图解
    SoapUI报ClientProtocolException错误
    Setup Script in SoapUI
    邮件自动回复
  • 原文地址:https://www.cnblogs.com/buyaoya-pingdao/p/13893513.html
Copyright © 2011-2022 走看看