... поскольку исключение с ошибкой может возникнуть только на $result[^table::sql{$query}].
Может лучше задачу расскажете? А главное поясните зачем изобретать велосипед при наличии Мишиных или моих sql-классов, которые поддерживают кеширование из коробки.