java如下代码,没加finally的时候Eclipse什么也不提示,加了提示未处理异常

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:03:29
public static void main(String[] args)
{
Connection conn = null;
Statement st = null;
ResultSet rs = null;
float money1 = 0.0f;
try
{
conn =JdbcTool.getConnection();
String sql = "UPDATE user set money=money-10 where id = 2";
st = conn.createStatement();
st.executeUpdate(sql);
String sqls = "SELECT money from user where id = 1";
rs = st.executeQuery(sqls);
if(rs.next()){
money1 =rs.getFloat("money");
}
if(money1>1990){
throw new RuntimeException("工资过大");
}
String sqlt = "UPDATE user set money=money+10 where id = 2";
st.executeQuery(sqlt);
}
}
后面一加finally就提示,不加反倒没事,怎么回事呢?
初学

里面创建的conn.statement.结果集对象会抛出一个SQLException异常,必须处理这个异常,你加一句catch{}去捕获应该就可以了

st = conn.createStatement();会抛出SQLException异常,在try{...}后加catch(SQLException sqle){sqle.getMessage()}即可,问题不在于你加不加finally。

try后面不是要跟catch吗?
是配对的啊。至少得有一个catch吧。
try{
...
}
catch(){
...
}
catch(){ //可多个catch
...
}
finally{
。。
}