java多处返回问题
public boolean isWorkDay()
{
Connection connection = null;
Statement st = null;
ResultSet rs = null;
try
{
connection = JDBCHelperV2.getConnection();
String sql_workDay = sql_getHoliday;
sql_workDay = sql_workDay.replace("@type", "2");
rs = JDBCHelperV2.executeQuery(connection, sql_workDay);
while (rs.next())
{
return true;
}
String sql_holiday = sql_getHoliday;
sql_holiday = sql_holiday.replace("@type", "1");
rs = JDBCHelperV2.executeQuery(connection, sql_holiday);
while (rs.next())
{
return false;
}
rs = JDBCHelperV2.executeQuery(connection, sql_getDayOfWeek);
while (rs.next())
{
String temp = rs.getString("weekday");
if (temp.equals("7") || temp.equals("1"))
{
return false;
}
return true;
}
}
catch(SQLException sqle)
{
throw new RuntimeException(sqle);
}
catch(Exception e)
{
}
finally
{
try {if (null != rs) {st = rs.getStatement();rs.close();}} catch(SQLException e1) {logger.error("isWorkDay:e1" + e1);}
try {if (null != st) {st.close();}} catch(SQLException e3) {logger.error("isWorkDay:e1" + e3);}
try {if (null != connection) {connection.close();}} catch(SQLException e2) {logger.error("isWorkDay:e1" + e2);}
}
return false;
}
问题:当执行try {if (null != connection) {connection.close();}} catch(SQLException e2) {logger.error("isWorkDay:e1" + e2);}也就是关闭connection的时候回跳转到while (rs.next())
{
return true;
}或者
while (rs.next())
{
return false;
}
为啥会跳转到前面呢?如果我定义一个boolean值 依次赋值,最后返回该boolean值则可以按正确顺序走下去,请指点下啥原因吧,迷茫啊
...全文
相关推荐
bank-spring-batch:具有多处理器的Spring Batch项目
Spring Batch的设计目标是解决企业级批量作业的问题,如大数据量的导入导出、定时任务等。
java多线程面试题
以上知识点涵盖了多线程编程在Java中的基础理论和实际操作,包括线程的创建、运行、异常处理以及线程安全等问题,这些都是在进行Java多线程面试时常见的问题,对于理解和掌握Java多线程编程至关重要。
Java Exception 几种不适当的处理
利用函数返回值(如布尔值或整数值)来表示操作的成功或失败,存在以下问题:返回信息过于简单,无法携带丰富的异常详情;调用者容易忽略错误返回码,导致问题难以定位;多处调用同一函数时,需重复判断返回值,增加了代码的冗余度
Java Threads 2rd
- **9.3 循环打印** - 介绍了一种特殊的循环打印技术,用于展示多线程环境下的同步问题。- **9.4 多处理器扩展性** - 分析了多处理器环境下程序的扩展性问题,并提供了解决方案。
java线程面试top50
- **作用**:通过线程可以实现多处理器编程,提高程序的运行效率。#### 1.2 线程与进程的区别- **线程是进程的一部分**:一个进程中可以包含多个线程,这些线程共享同一片内存空间。


Web 开发
