]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Made the 'info' argument to SyntaxError optional, so phase-2 syntax
authorGuido van Rossum <guido@python.org>
Fri, 5 Sep 1997 19:00:56 +0000 (19:00 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 5 Sep 1997 19:00:56 +0000 (19:00 +0000)
errors are handled (these gave ``TypeError: not enough arguments'').

Also changed its __str__() to correct a typo (missing self.) and
return str(self.msg) to ensure the result is always string.

Also changed the default __str__ to simply return str(self.args).

Lib/exceptions.py

index 4b039692a7ca5461d984d63a2e6c110ba0038dbf..37b9590467ec36bbbabb4ef2155c24855526fab5 100644 (file)
@@ -58,10 +58,8 @@ class StandardError:
     def __str__(self):
         if self.args == None:
             return ''
-        elif type(self.args) == type(''):
-            return self.args
-        else:
-            return `self.args`
+       else:
+           return str(self.args)
 
     def __getitem__(self, i):
        if type(self.args) == type(()):
@@ -72,12 +70,17 @@ class StandardError:
            raise IndexError
 
 class SyntaxError(StandardError):
-    def __init__(self, msg, info):
+    filename = lineno = offset = text = None
+    def __init__(self, msg, info=None):
         self.msg = msg
-        self.filename, self.lineno, self.offset, self.text = info
-
+       if info:
+           self.args = msg
+       else:
+           self.args = (msg, info)
+       if info:
+           self.filename, self.lineno, self.offset, self.text = info
     def __str__(self):
-        return msg
+        return str(self.msg)
 
 
 class IOError(StandardError):