diff --git a/contrib/check-code.py b/contrib/check-code.py --- a/contrib/check-code.py +++ b/contrib/check-code.py @@ -185,6 +185,8 @@ pypats = [ (r'[^^+=*/!<>&| %-](\s=|=\s)[^= ]', "wrong whitespace around ="), (r'raise Exception', "don't raise generic exceptions"), + (r'raise [^,(]+, (\([^\)]+\)|[^,\(\)]+)$', + "don't use old-style two-argument raise, use Exception(message)"), (r' is\s+(not\s+)?["\'0-9-]', "object comparison with literal"), (r' [=!]=\s+(True|False|None)', "comparison with singleton, use 'is' or 'is not' instead"), diff --git a/tests/test-check-code.t b/tests/test-check-code.t --- a/tests/test-check-code.t +++ b/tests/test-check-code.t @@ -159,3 +159,14 @@ > except: warning: naked except clause [1] + + $ cat > raise-format.py < raise SomeException, message + > # this next line is okay + > raise SomeException(arg1, arg2) + > EOF + $ "$check_code" raise-format.py + raise-format.py:1: + > raise SomeException, message + don't use old-style two-argument raise, use Exception(message) + [1]