diff --git a/python/plugins/processing/algs/qgis/StatisticsByCategories.py b/python/plugins/processing/algs/qgis/StatisticsByCategories.py index f8b4a0b4202a..d24d02959cfa 100644 --- a/python/plugins/processing/algs/qgis/StatisticsByCategories.py +++ b/python/plugins/processing/algs/qgis/StatisticsByCategories.py @@ -104,11 +104,15 @@ def processAlgorithm(self, parameters, context, feedback): value_field = source.fields().at(value_field_index) else: value_field = None - category_field_indexes = [source.fields().lookupField(n) for n in category_field_names] + category_field_indexes = list() # generate output fields fields = QgsFields() - for c in category_field_indexes: + for field_name in category_field_names: + c = source.fields().lookupField(field_name) + if c == -1: + raise QgsProcessingException(self.tr(f'Field "{field_name}" does not exist.')) + category_field_indexes.append(c) fields.append(source.fields().at(c)) def addField(name):