closeのときにcatchした例外はその場で適当にログ出力してthrowしない。ここで例外が発生した場合は既に一つ前のcatch節にも入っている可能性が極めて高く、そちらでcatchした例外の方が有用な情報を持っている可能性が微かに高そうなので。まあこれはケースバイケースかも。
Date sysdate = null;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
conn = DriverManager.getConnection (url, user, pass);
st = con.createStatement();
rt = smt.executeQuery("select SYSDATE from DUAL");
sysdate = rs.getDate("SYSDATE");
}catch(SQLException e){
throw new MyException(e);
}finally{
try{
if(rs != null) rs.close();
if(st != null) st.close();
if(conn != null) conn.close();
}catch(SQLException e){
logger.error(e);
}
}
0 件のコメント:
コメントを投稿