Throw exception on error in getFields
Unified fetch and fetchAll