我有一种在VO中设置一些属性的方法。该方法如下所示:

public void methodToPopulateVO(MyVO vo)
{
    BackendClass bClass = new BackendClass();
    vo.setA(bClass.getA()); //Line 1
    vo.setB(bClass.getB()); //Line 2
    vo.setC(bClass.getC()); //Line 3
}


这些任何方法getA()getB()getC()都可以引发异常。我的要求是getA()是否在第2行抛出一些异常静止代码,并且应该执行第3行。这适用于每行(例如,如果第2行导致异常,则第3行仍应执行)。我无法更改BackendClass的实现。由于性能是我们应用程序的衡量标准,我应该采用哪种异常处理技术对性能的影响较小?

请注意,实际系统具有大约20个字段,而不仅仅是3个字段。

最佳答案

这是一种方法:

public void methodToPopulateVO(MyVO vo){
    BackendClass bClass = new BackendClass();
    try {
        vo.setA(bClass.getA()); //Line 1
    } catch (Exception e) {
        log(e);
    }
    // same for the next 2 method calls.
}


现在,当getA()引发异常时,您将记录该事件并继续执行。

10-05 18:12