首页 > 解决方案 > 是否有另一种方法来处理异常而不是“异常处理”?

问题描述

import java.sql.SQLException;

public class JDBC {

    public void create(User user) throws SQLException {

        try (
            Connection connection = dataSource.getConnection();
            PreparedStatement statement = connection.prepareStatement(SQL_INSERT,Statement.RETURN_GENERATED_KEYS);
        ) {
            statement.setString(1, user.getName());
            statement.setString(2, user.getPassword());
            statement.setString(3, user.getEmail());
            // ...

            int affectedRows = statement.executeUpdate();

            if (affectedRows == 0) {
                throw new SQLException("Creating user failed, no rows affected.");
            }

            try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
                if (generatedKeys.next()) {
                    user.setId(generatedKeys.getLong(1));
                }
                else {
                    throw new SQLException("Creating user failed, no ID obtained.");
                }
            }
        }
    }
}

标签: javaexceptionexception-handling

解决方案


异常处理是处理错误的唯一方法。根据您正在编写的应用程序的类型,您可以使用例如 Spring 的 AOP。这将需要额外的努力来理解面向方面的编程。

这些评论非常相关,也许您可​​以详细说明您要达到的目标。解释这是找到答案的最佳方式;您很可能会被引导到一个全新的解决方案。


推荐阅读