Java中可以有一个空的catch块吗?

是的,我们可以有一个 空的catch块。但这是在Java中实现的不良做法

通常, try块具有能够产生异常的代码,如果try块中发生任何错误(例如, 除以零,找不到文件 等)它将生成一个由catch块捕获的异常 。catch块捕获 处理 异常。如果catch块为空,那么我们将不知道代码中出了什么问题。

示例

public class EmptyCatchBlockTest {
   public static void main(String[] args) {
      try {
         int a = 4, b = 0;
         int c = a/b;
      } catch(ArithmeticException ae) {
         //空的捕获块
      }
   }
}

在上面的代码中,catch块捕获异常,但在控制台中不输出任何内容。这使用户认为代码中没有异常。因此,在catch块中打印相应的异常消息是一个好习惯。

输出结果

//空的捕获块