Я новичок в Java, но я подумал, что при использовании try-catch-finally мне не нужно объявлять исключение с помощью throws SQLException
. Однако, если я его не использую, компилятор выдает мне ошибку:
«несообщаемое исключение java.sql.SQLException; должно быть перехвачено или объявлено для выдачи».
Я включил улов, поэтому я не уверен, почему возникают эти ошибки.
public static ResultSet getResultSet ( String query )
{
dbConn = getConnection();
try
{
stmt = dbConn.createStatement( );
ResultSet rs = stmt.executeQuery( query );
return rs;
}
catch (SQLException ex)
{
return null;
}
finally
{
stmt.close();
dbConn.close();
}
}
dbConn
иstmt
какstatic
. Этот код определенно не является потокобезопасным. Я настоятельно рекомендую переделать базовые руководства по Java и JDBC. - person BalusC   schedule 11.08.2010SQLExceptions
при использованииResultSet
, так что вы можете распространить исключение.ResultSet
, вероятно, не будет работать после закрытия соединения. Возможно, вы захотите рассмотреть идиому Execute Around. stackoverflow.com/questions/341971/ а> - person Tom Hawtin - tackline   schedule 11.08.2010ResultSet
сList<Entity>
и вместо этого вернуть его. Для некоторых примеров, ">направляйтесь сюда и здесь. - person BalusC   schedule 11.08.2010