首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

宣言了返回值却报错没有返回

2013-03-06 
声明了返回值却报错没有返回本帖最后由 QQ1184318016 于 2013-03-04 12:54:24 编辑public User getUser(in

声明了返回值却报错没有返回
本帖最后由 QQ1184318016 于 2013-03-04 12:54:24 编辑

public User getUser(int id){
Connection conn  =null;
Statement stmt = null;
ResultSet set = null;
try{
//得到连接
conn = JdbcUtils.getConnection();
//得到发送对象
stmt = conn.createStatement();
//发送sql语句
String sql = "select * from User where id = "+id;
set = stmt.executeQuery(sql);
if (set.next()){
User user  = new User();
String name = set.getString("name");
String password  = set.getString("password");
String email = set.getString ("email");
String birthday = set.getString("birthday");
SimpleDateFormat sdf  = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(birthday);

BeanUtils.setProperty(user, "id", id);
BeanUtils.setProperty(user, "name", name);
BeanUtils.setProperty(user, "password", password);
BeanUtils.setProperty(user, "email", email);
BeanUtils.setProperty(user, "date", date);

return user;
}
return null ;
}catch (Exception e){
new DaoException(e);
}finally{
JdbcUtils.release(conn, stmt, set);
}
}
[解决办法]
首先你的java样式没用上。
其次不抛异常的时候有返回值,抛异常的时候呢?
要么就把return 语句放到最后finally里面
[解决办法]
User user  = new User();定义在if (set.next()){外部,不然每次都创建新的user了

热点排行