diff -r aa713ac50c0d -r cc717c2ae956 eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py --- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py Thu Apr 15 16:52:05 2021 +0200 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py Thu Apr 15 18:11:24 2021 +0200 @@ -15,6 +15,7 @@ from collections import defaultdict import tokenize import copy +import contextlib import AstUtilities @@ -611,10 +612,8 @@ Private method to check, if built-ins are shadowed. """ functionDefs = [ast.FunctionDef] - try: + with contextlib.suppress(AttributeError): functionDefs.append(ast.AsyncFunctionDef) - except AttributeError: - pass ignoreBuiltinAssignments = self.__args.get( "BuiltinsChecker", @@ -799,19 +798,15 @@ "frozenset", ) functionDefs = [ast.FunctionDef] - try: + with contextlib.suppress(AttributeError): functionDefs.append(ast.AsyncFunctionDef) - except AttributeError: - pass for node in ast.walk(self.__tree): if any(isinstance(node, functionDef) for functionDef in functionDefs): defaults = node.args.defaults[:] - try: + with contextlib.suppress(AttributeError): defaults += node.args.kw_defaults[:] - except AttributeError: - pass for default in defaults: if any(isinstance(default, mutableType) for mutableType in mutableTypes): @@ -1161,14 +1156,12 @@ @return logging level @rtype str or None """ - try: + with contextlib.suppress(AttributeError): if node.func.value.id == "warnings": return None if node.func.attr in LoggingVisitor.LoggingLevels: return node.func.attr - except AttributeError: - pass return None @@ -1350,7 +1343,7 @@ else: self.__checkForM502(node) else: - try: + with contextlib.suppress(AttributeError, IndexError): # bad super() call if isinstance(node.func, ast.Name) and node.func.id == "super": args = node.args @@ -1381,8 +1374,6 @@ AstUtilities.isString(node.args[1]) ): self.violations.append((node, "M513")) - except (AttributeError, IndexError): - pass self.generic_visit(node)