当前位置: 首页 > 编程笔记 >

Java异常处理中的嵌套try块

邢勇
2023-03-14
本文向大家介绍Java异常处理中的嵌套try块,包括了Java异常处理中的嵌套try块的使用技巧和注意事项,需要的朋友参考一下

顾名思义,try块中的try块在Java中称为嵌套try块。当不同的块(例如外部和内部)可能导致不同的错误时,就需要这样做。要处理它们,我们需要嵌套的try块。

现在让我们看一个实现嵌套try块的示例-

示例

class Main {
   // main method
   public static void main(String args[]) {
      try {
         int a[]=new int[10];
         //显示索引12处的元素
         System.out.println(a[12]);
         // another try block
         try {
            System.out.println("相除");
            int res = 100/ 0;
         }
         catch (ArithmeticException ex2) {
            System.out.println("抱歉的!。 被零除是不可行的!");
         }
      }
      catch (ArrayIndexOutOfBoundsException ex1) {
         System.out.println("ArrayIndexOutOfBoundsException");
      }
   }
}

输出结果

ArrayIndexOutOfBoundsException

现在我们将在上面的示例中进行一些更改-

示例

class Main {
   // main method
   public static void main(String args[]) {
      try {
         int a[] = {30, 45, 60, 75, 90, 105, 120, 140, 160, 200};
         //显示索引8处的元素
         System.out.println("显示索引8处的元素 = "+a[8]);
         // another try block
         try {
            System.out.println("相除");
            int res = 100/ 0;
         }
         catch (ArithmeticException ex2) {
            System.out.println("抱歉的!被零除是不可行的!");
         }
      }
      catch (ArrayIndexOutOfBoundsException ex1) {
         System.out.println("ArrayIndexOutOfBoundsException");
      }
   }
}

输出结果

显示索引8处的元素 = 160
Division
抱歉的!被零除是不可行的!
 类似资料:
  • 问题内容: 在Java中,我们使用try catch块处理异常。我知道我可以像下面这样编写一个try catch块来捕获方法中抛出的任何异常。 但是Java中有什么方法可以让我在发生异常时获取一种称为的特定方法,而不是像上面的方法那样编写一个包罗万象的方法? 具体来说,当抛出异常(我的应用程序逻辑未处理)时,我想在Swing应用程序中显示一条用户友好的消息。 谢谢。 问题答案: 默认情况下,JVM

  • 异常严重:Servlet。路径为[z2]的上下文中servlet[dispatcher]的service()引发异常[请求处理失败;嵌套异常为org.springframework.dao.DataIntegrityViolationException:not null属性引用null或瞬时值:com.spring.entity.Product.cd;嵌套异常为org.hibernate.Prop

  • 本文向大家介绍Java 中的异常处理?相关面试题,主要包含被问及Java 中的异常处理?时的应答技巧和注意事项,需要的朋友参考一下  Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大

  • 问题内容: 我知道,如果我想重新引发异常,我会在相应的块中简单地使用没有参数的方法。但是给定一个嵌套的表达式 如何在不破坏堆栈跟踪的情况下重新筹集?在这种情况下,仅此一项会重新提高最近的筹码。还是我应该重构代码来避免此问题? 问题答案: 从Python 3开始,回溯存储在异常中,因此(大多数)正确的事情很简单: 产生的追溯将包括在处理过程中发生的其他通知(由于位于内部)。这具有误导性,因为实际发生

  • 我有一个类,它有一个方法,该方法调用另一个服务上的另一个方法。大概是这样的: 我预计一个实体将被插入,但是如果任何嵌套事务抛出异常插入将拒绝,即使这个异常也是在处理的。 我可以用注释。但它会胜过表演。

  • 当我尝试连接到Oracle数据库时,出现了以下问题。 有例外 此reportMapper.xml