3

我在以下代码中通过声纳获取异常。我该如何解决这个问题。建议我。

    @Override 
     public boolean validate(BaseInfo infoObject) { 
     boolean isValid = true; 
     AckTransferPaymentInfo ackTransferPaymentInfo = (AckTransferPaymentInfo) infoObject; 

Dodgy - 未经检查/未经确认的演员
表 未经检查/未经确认的演员表从 com.vocalink.acsw.common.validation.info.BaseInfo 到 com.vocalink.acsw.common.validation.info.AckTransferPaymentInfo 在 com.vocalink.acsw.validation.rule.T170Rule .validate(BaseInfo)

AckTransferPaymentElement payment = ackTransferPaymentInfo.getTransferPayment();  
if(CreditDebitIndicator.CRDT.equals(ackTransferPaymentInfo.getCreditDebitIndicator()) 
&& ackTransferPaymentInfo.getOriginalPaymentAccount().getAccountName() != null 
4

1 回答 1

7

您可以检查 infoObject 的类型是否正确,并在不正确时对其进行适当处理:

if (!(infoObject instanceof AckTransferPaymentInfo)) {
    throw new AssertionError("Unexpected type: " + infoObject);
}
AckTransferPaymentInfo ackTransferPaymentInfo = (AckTransferPaymentInfo) infoObject;

当 infoObject 为空时,您应该验证这是否符合您的要求。

于 2012-08-23T21:18:04.957 回答