是的,我们可以有一个 空的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块中打印相应的异常消息是一个好习惯。
输出结果
//空的捕获块