如何忽略Java中的异常

我有以下代码:

TestClass test=new TestClass();

test.setSomething1(0); //could, but probably won't throw Exception

test.setSomething2(0); //could, but probably won't throw Exception

我想执行:test.setSomething2(0);即使test.setSomething(0)(上面的行)抛出异常。除了:

try{

test.setSomething1(0);

}catch(Exception e){

//ignore

}

try{

test.setSomething2(0);

}catch(Exception e){

//ignore

}

我连续有很多test.setSomething,它们都可能引发异常。如果他们这样做,我只想跳过这一行,移至下一行。

为了澄清起见,我不在乎它是否引发异常,并且我无法编辑引发此异常的代码的源代码。

这是我不关心例外的情况(请不要使用通用量化的语句,例如“您永远不要忽略异常”)。我正在设置某些对象的值。当我向用户提供值时,无论如何我都会执行null检查,因此,是否执行任何代码行实际上都没有关系。

回答:

我会严重怀疑任何忽略测试代码引发的异常的测试代码的合理性。也就是说,假设您知道自己在做什么……就无法从根本上忽略引发的异常。您能做的最好的事情就是最小化包装异常抛出代码所需的样板。

如果您使用的是Java 8,则可以使用以下代码:

public static void ignoringExc(RunnableExc r) {

try { r.run(); } catch (Exception e) { }

}

@FunctionalInterface public interface RunnableExc { void run() throws Exception; }

然后,这意味着静态导入,您的代码将变为

ignoringExc(() -> test.setSomething1(0));

ignoringExc(() -> test.setSomething2(0));

以上是 如何忽略Java中的异常 的全部内容, 来源链接: utcz.com/qa/430308.html

回到顶部