当前位置: 首页 > 知识库问答 >
问题:

Java:处理程序对于检查的异常是强制的

宗政元青
2023-03-14
public class DivZero{
 public static void main(String[] args){
   int a=10;
   int[] b={1,2,3,4,0};
   for (int i=0;i<b.length;i++){
    System.out.println(a/b[i]);
   }
 }
}

共有1个答案

海保臣
2023-03-14

ArithmeticException扩展了RuntimeException,因此它不是检查的异常。检查的异常是从exception继承的异常,但不是从runtimeexception继承的异常。

引用JLS,11.1.1。例外的种类:

[...]检查的异常类是throwable的所有子类,而不是runtimeexception及其子类和Error及其子类。

 类似资料:
  • 问题内容: 如果我在.NET中没有记错的话,可以为未处理的异常注册“全局”处理程序。我想知道Java是否有类似的东西。 问题答案: 是的,有,但只有在没有设置时才会触发。

  • 问题内容: 我正在使用Java 8的新lambda功能,发现Java 8提供的实践确实很有用。但是,我想知道是否有一种 很好的 方法来解决以下情况。假设您有一个对象池包装器,需要某种工厂来填充对象池,例如(使用): 将功能接口转换为lambda表达式后,上面的代码变为: 确实还算不错,但是检查的异常需要在lambda内部加上/ 块。在我公司,我们长时间使用两个接口: 相当于; 还有一个特殊的接口,

  • 1.1 异常处理的基本使用 try: <语句块1> except: <语句块2> try 捕获异常 except 发生异常时执行 try: <语句块1> except <异常类型名字>: <语句块2> except <异常类型名字> 发生对应异常时才会执行 1.2 异常处理的高级使用 try: <语句块1> except

  • 我正在玩Java8中的新lambda特性,发现Java8提供的实践确实很有用。然而,我想知道有没有一个好的方法来解决下面的场景。假设您有一个对象池包装器,它需要某种工厂来填充对象池,例如(使用): 将函数接口转换成lambda表达式后,上面的代码变成了这样: null 和都应该在迁移到Java 8期间删除,但是没有完全匹配。如果lambda表达式可以像未检查一样处理检查过的异常,那么可以在上面的构

  • 我有一些代码抛出一个检查异常。我想在lambda中调用该代码,以便从另一个映射创建一个映射: 其中是引发异常的代码: 现在编译器肯定会抱怨没有处理异常。所以我用一个来包围它,看起来很难看: 因为我们需要返回-case中的内容。然而,在这种例外情况下,返回任何内容都没有多大意义,这就是为什么我实际上不想在该级别处理异常。难道我不能在我创建lambda的调用代码中处理异常吗?所以说只是上面一层? 但这

  • 本文向大家介绍Java 异常处理机制的理解?相关面试题,主要包含被问及Java 异常处理机制的理解?时的应答技巧和注意事项,需要的朋友参考一下 Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为 java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception。 Error表示应用程序本身无法克服和恢复的一种严重问题。