Comments (6)
Original comment by bitglue (@bitglue?) on Launchpad:
Pyflakes still supports python 2.5, where string exceptions are still allowed. Pyflakes has no way to know what the target python version is, so must take the conservative approach and assume the code might be targeted at python 2.5 and string exceptions are valid.
For code targeted at later versions, I suggest catching these errors in unit tests.
from pyflakes.
Original comment by mithrandi (@mithrandi?) on Launchpad:
Unfortunately the most common occurrences of string exceptions are in exceptional code paths that are never (and perhaps have never) been tested; but perhaps pyflakes is not the right tool for dealing with this problem (although, since pyflakes already has to deal with Python 2 vs Python 3, I could imagine support being added for more precise version targets).
from pyflakes.
Original comment by florent.x (@florentx?) on Launchpad:
According to the Python documentation:
« Raising of strings as exceptions, as in the statement raise "Error occurred", is deprecated in Python 2.5 and will trigger a warning. The aim is to be able to remove the string-exception feature in a few releases. »
https://docs.python.org/2.7/whatsnew/2.5.html#pep-352-exceptions-as-new-style-classes
So we could probably enforce this deprecation in a linter tool which supports Python 2.5.
With the examples posted in the initial requests, I think that this checker will be easy to implement for "simple cases" as a warning in the "pep8.py" tool, which does non-AST analysis of the code.
from pyflakes.
Original comment by adiroiban (@adiroiban?) on Launchpad:
+1 for fixing this in pep8.py
from pyflakes.
Should we close this as pyflakes no longer supports python2.5?
from pyflakes.
yep.
from pyflakes.
Related Issues (20)
- Warn when f-string with non-local variable used? Warn when f-string converting function to str is used? HOT 3
- Errors should be generated for "illegal" accesses to module-level variables with leading double underscores HOT 2
- F821 with Annotated import alias HOT 1
- f-string like f"{foo = }" is detected as an error HOT 1
- Feature request: a rule for calling super().__init__() in custom exception's __init__() HOT 1
- undefined name/syntax error in forward annotation HOT 2
- Use setuptools.build_meta HOT 1
- pyflakes: Does not consider legacy type annotations for "usedness" of imports HOT 2
- F811 redefinition of unused '_' - should underscore be excluded? HOT 1
- Spurious F811 when a method in a class overrides an "unused import" HOT 1
- F821 for PEP695 ParamSpec HOT 3
- Docu: What does pyflake checks for? HOT 2
- False Positive: walrus in a list comprehension HOT 6
- E704 false positives with one line overload def HOT 1
- False-positive F811 HOT 1
- False positive F841 and F821 HOT 5
- pyflakes misses an undefined variable (F821) when a variable is defined in an outer scope, but not in time HOT 4
- Python 3.12: SyntaxError: source code string cannot contain null bytes HOT 2
- F821 undefined name 'something' when using __getitem__ HOT 9
- import * 误报的问题 The issue of import * false positives HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyflakes.