When running "2to3 -f raise" on the following code, which uses an old Python 2.4 raise of a string:
def f():
raise ("message %s %s" % (1, 2))
try:
f()
finally:
pass
I obtain the following quite surprising result. I would have expected to get either an error or leave the original file unchanged, because "raise (s)" is syntactically valid although incorrect.
$ 2to3 -f raise w.py
RefactoringTool: Refactored w.py
--- w.py (original)
+++ w.py (refactored)
@@ -1,5 +1,5 @@
def f():
- raise ("message %s %s" % (1, 2))
+ raise "message %s %s"
try:
f() |