java - return 语句不适用于 DAO java spring 中的 try catch

标签 java spring try-catch return

我在userDAO中有这个功能

public List<Country> findAllCountries() {

         try {

                 Session session = sessionFactory.getCurrentSession();
                 Query query = session.createQuery("FROM  Country");
                 return  query.list();

         } catch (Exception e) {
                    System.out.println(e);
                }


        }

问题是 Eclipse 给出错误,告诉我在 return 中使用 void 或添加 return 语句,如果我删除 try catch 那么它就可以工作

最佳答案

我会这样写。我不知道你应该做什么来关闭 session 或在finally block 中进行清理。这将使 Eclipse 高兴:

public List<Country> findAllCountries() 
{    
    List<Country> countries = new ArrayList<Country>();

    try 
    {
        Session session = sessionFactory.getCurrentSession();
        Query query = session.createQuery("FROM  Country");
        countries = query.list();    
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }

    return countries;
}

关于java - return 语句不适用于 DAO java spring 中的 try catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385935/

相关文章:

java - 坐标 X Y 绘制 Android

java - Spring RestTemplate - 批量传递 GET 请求

java - Oracle SQL 序列

java - 如果继承了另一个Exception,Java会多次捕获一个Exception吗?

java - 为什么我的 GWT Web 应用程序无法正常运行?

php - Zend 在我之前捕获所有异常?

c# - 在捕获异常时显示模态 Bootstrap

java - 如何在@Backoff中的delayExpression中进行算术运算(Spring-retry)

java - 使用 @Parameter 的 Hibernate 注释不起作用

java - java中try block 中的return语句和异常