Я рекомендую придерживаться вашего текущего общего подхода, а не , пытаясь вернуть две части информации из вашего метода.Ваша сигнатура метода генерирует исключение, и один из возможных способов справиться с этим - заставить ваш метод генерировать исключение, когда что-то идет не так.В противном случае это означает, что запрос на подсчет выполнен, и будет возвращено некоторое количество.Но, вероятно, у вас должен быть блок try catch, окружающий ваш код JDBC:
public static int retrieveData(Connection conn) throws Exception {
Statement stmt = null;
int totalCount = 0;
try {
String query = "SELECT COUNT(*) FROM Account";
ResultSet rsRetrieve;
stmt = conn.createStatement();
rsRetrieve = stmt.executeQuery(query);
if (rsRetrieve.next()) {
totalCount = rsRetrieve.getInt(1);
System.out.println("totalCount : " + totalCount);
}
}
catch (SQLException e) {
System.out.println(e.getMessage());
threw new Exception("something went wrong");
}
finally {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
return totalCount;
}
Таким образом, здесь используется следующий шаблон: если что-то пойдет не так, счетчик не будет, и вызывающая сторона получит исключение.В противном случае, если исключение не произойдет, будет возвращено некоторое количество.