从lambda体内抛出异常

时间:2015-11-26 15:19:20

标签: java lambda java-8

我不认为我可以在建议的重复中找到答案。我希望有人可以回答

我有以下代码:

    private void VerifyLegMessages(long lCurrentTimeMs){

    m_arrLegs.forEach((x) -> {

            if(x.getReqSentMs() != -1){

                if(x.getOkReceivedMs() ==  -1){

                    if(lCurrentTimeMs - x.getReqSentMs() > MAX_TIMEOUT_MS){
                        throw new TimeoutException("Did not receive message on time. Timeout has passed... ");
                    }
                }else{

                    if(x.getOkReceivedMs() - x.getReqSentMs() > MAX_TIMEOUT_MS){
                        throw new TimeoutException("response time was longer than expected... ");
                    }               
                }
            }
        }
    );
}

Eclipse因为"抛出新的TimeoutException而对我大吼大叫"并希望我将代码放在try和catch块中。

为什么我不能像其他类似的方法那样抛出异常,我还没有使用过lambda表达式?

谢谢!

0 个答案:

没有答案