Path 1: 4 calls (0.67)

TryExcept (3) TryFinally (1)

1def visit_tryexcept(self, node: nodes.TryExcept | nodes.TryFinally) -> None:
2        try_clause_statements = self._count_statements(node)
3        if try_clause_statements > self.linter.config.max_try_statements:
4            msg = (
5                f"try clause contains {try_clause_statements} statements, expected at"
6                f" most {self.linter.config.max_try_statements}"
7            )
8            self.add_message(
9                "too-many-try-statements", node.lineno, node=node, args=msg
10            )
            

Path 2: 2 calls (0.33)

TryFinally (1) TryExcept (1)

1def visit_tryexcept(self, node: nodes.TryExcept | nodes.TryFinally) -> None:
2        try_clause_statements = self._count_statements(node)
3        if try_clause_statements > self.linter.config.max_try_statements:
4            msg = (
5                f"try clause contains {try_clause_statements} statements, expected at"
6                f" most {self.linter.config.max_try_statements}"
7            )
8            self.add_message(
9                "too-many-try-statements", node.lineno, node=node, args=msg
10            )