隐藏页面特效

10.30 动手动脑

1、CatchWho

package com.edu.iq;
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");
        }
    }
}

 

2、CatchWho2

package com.edu.iq;
public class CatchWho2
{
    public static void main(String[] args)
    {
        try
        {
             try
             {
                 throw new ArrayIndexOutOfBoundsException();
             }
             catch(ArithmeticException e)
             {
                 System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch");
             }
             catch(ArrayIndexOutOfBoundsException e)
                {
                    System.out.println( "ch");
                }
             finally
             {
              System.out.println("*****");
             }
            throw new ArithmeticException();
        }
        catch(ArithmeticException e)
        {
            System.out.println("发生ArithmeticException");
        }
        catch(ArrayIndexOutOfBoundsException e)
        {
            System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch");
        }
    }
}

 

3、EmbededFinally

package com.edu.iq;
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");
  }
 }
}
 
 
 
 

当程序中出现多层try结构嵌套时,内层的try结构若捕捉到异常则会屏蔽外层异常,以致异常不能被捕捉

 

4、SystemExitAndFinally

package com.edu.iq;
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");
       
  }
   
 }

}
 
该程序中finally语句并未被执行,即finally并不是总是被执行
 

 


__EOF__

本文作者往心。
本文链接https://www.cnblogs.com/lx06/p/13916348.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   往心。  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示