Is there an alternate way instead of Exceptional handling to handle exceptions? : import java.sql.SQLException;

public class JDBC {
	public void create(User user) throws SQLException {
	    try (
	        Connection connection = dataSource.getCon
	        nection();
	        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.");
	            }
	        }
	    }
	}
}
