如何使用Catch Block进行常规错误

时间:2013-12-06 06:18:14

标签: java spring ms-access spring-mvc

我正在做一个项目,我必须在名字和姓氏的组合上验证表格。

我没有编写自己的逻辑,而是在我的数据库中看到了一个模式,如果我给出了First和Last Name的重复组合,那么它会给我一个“General error at sun.jdbc.odbc.JdbcOdbc.createSQLException”的一般错误控制台。

我想使用Logic本身,在我的DAO层中,尝试catch块,我想使用catch块将Object返回给我的服务和Controller,因此我必须添加一个警告,即组合错误或类似的东西。

任何人都可以帮我吗?

???

3 个答案:

答案 0 :(得分:0)

在DAO层编写业务不是一个好主意,除非这是数据限制。我认为检查组合字符串应该写在UI或商业层中。

答案 1 :(得分:0)

据我所知,如果保存失败,您希望向前端发送警报..?

要实现所需的功能,您可以按如下方式修改代码:

    public String saveEmployee(Employee employee) {
    String result=null;
    PreparedStatement pstmt=null;
    try {
         pstmt = getDataComnConnection().prepareStatement(saveEmployeeQuery);
         pstmt.setString(1, employee.getFirstName());
         pstmt.setString(2, employee.getLastName());
         pstmt.setString(3, employee.getDisplayName());
         pstmt.setString(4,employee.getAltId());
         pstmt.setBoolean(5, employee.isActive());
         pstmt.setInt(6, employee.getDeptId());
         pstmt.setInt(7, employee.getTeamId());
         pstmt.setString(8, "abc");
         pstmt.setString(9, "def");
         pstmt.execute();
         pstmt.close();
         getDataComnConnection().close();
         result="Success";
    }
    catch (SQLException ex) {
        // TODO: handle exception
         result="Failure";
        ex.printStackTrace();
    }
    return result;    

根据我的建议,您必须编辑方法以返回结果字符串值。 您可以检查服务层中的值,如果找到失败,则将警报发送到应用层。

希望它有所帮助。

答案 2 :(得分:-1)

我认为你可以使用try和catch(Exception e)不要使用像IOException这样的特定异常。并将System.out.err(e.getMessage())放入catch