-1
在我的代碼中,我有try/catch塊,在那裏我捕捉到mysql異常。然而,它仍抱怨我們需要在foreach循環中再次處理這個異常。在try塊內添加lambda時出現問題 - Java 8
正如你在這裏看到的正常for循環(在foreach邏輯之後),我們不需要專門處理它。有人能向我解釋這背後的邏輯嗎?
try (Connection connection = DAOUtil.getConnection();
PreparedStatement statement = connection.prepareStatement(query)) {
IntStream.range(0, statuses.size())
.forEach(i -> statement.setString(i+1 , statuses.get(i)));
for (int i = 0; i < statuses.size(); ++i) {
statement.setString(i + 1, statuses.get(i));
}
return constructAPISummaryList(statement);
} catch (SQLException e) {
throw new APIMgtDAOException(e);
}
}
錯誤發生在.forEach(i -> statement.setString(i+1, statuses.get(i)));
錯誤消息: 「未處理的異常:java.sql.SQLException中的」
請不要將圖片作爲代碼發佈,[請參閱此meta文章](https://meta.stackoverflow.com/q/285551/3933332)。 –
對不起。我只是想告訴你如何瀏覽器抱怨sqlException。 –
@Tunaki這個問題看起來不一樣,因爲OP在問他什麼時候已經添加了一個try-catch爲什麼仍然會給編譯錯誤。 – grsdev7