diff --git a/sphinx/ext/coverage.py b/sphinx/ext/coverage.py index bfb3d3a8944..8123cf9cc75 100644 --- a/sphinx/ext/coverage.py +++ b/sphinx/ext/coverage.py @@ -362,11 +362,15 @@ def _write_py_statistics(self, op: TextIO) -> None: value = 100.0 table.append([module, '%.2f%%' % value, '%d' % len(self.py_undocumented[module])]) - table.append([ - 'TOTAL', - f'{100 * len(all_documented_objects) / len(all_objects):.2f}%', - f'{len(all_objects) - len(all_documented_objects)}', - ]) + + if len(all_objects): + table.append([ + 'TOTAL', + f'{100 * len(all_documented_objects) / len(all_objects):.2f}%', + f'{len(all_objects) - len(all_documented_objects)}', + ]) + else: + table.append(['TOTAL', '100', '0']) for line in _write_table(table): op.write(f'{line}\n')