Здравствуйте ещё раз.
Всем общением с базой данных занимается отдельный класс, возвращающий полученные результаты.
Для получения данных из БД был написан вот такой метод:
public ResultSet getData()
{
    try
    {
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery("SQL-код");
        stmt.close();
        return rs;
    }
    catch(SQLException e)
    {
        return null;
    }
}
При вызове этого метода в другом классе:
DB db = new DB("test");
ResultSet rs = db.getData();
Джава снова требует обработать SQLException.
Как сделать так, чтобы подобные исключения не вылезали за пределы работающих с ними классов? И как возвращать ResultSet, если его невозможно создать за пределами try/catch дерева?
P.S. Уже была идея перекладывать все данные из ResultSet'а в ArrayList<Object[]> и возвращать его, но это добавляет возни. Возможно есть шанс решить вопрос на уровне исключений.