[PATCH] win32: 'raise ctypes.WinError' -> 'raise ctypes.WinError()'

Adrian Buehlmann adrian at cadifra.com
Mon Mar 23 16:01:49 CDT 2015


On 2015-03-23 20:42, mharbison72 at gmail.com wrote:
> On Mar 23, 2015 3:25 PM, Matt Mackall <mpm at selenic.com> wrote: 
> 
> On Sun, 2015-03-22 at 19:12 -0400, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1427065693 14400
>> # Sun Mar 22 19:08:13 2015 -0400
>> # Node ID 658ab360e6dcebf9e5dd4a87567d5313e6fd0fdd
>> # Parent 72763df8d4d8c775d800dea05937732caf050272
>> win32: 'raise ctypes.WinError' -> 'raise ctypes.WinError()'
>>
>> WinError is a function that creates an Error, not an Error itself.
> This is a
>> partial backout of e34106fa0dc3.
> 
> That was released way back in 2.3. Does this belong on stable? What
> breaks here?
> 
> 
> Stable is reasonable I guess.  This is one of those things that should
> never happen.
> 
> I was cargo culting in the area and copy pasted one of these lines.  But
> since I had other code that was wrong, a Win32 call failed, which
> triggered this.  Instead of printing an error with the Win32 code, it
> was a python error about raising something not a BaseException (I forget
> the exact wording)

I agree with Matt Harbison. For reference:

$ python
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>> raise ctypes.WinError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: exceptions must be old-style classes or derived from BaseException, not function
>>> raise ctypes.WinError()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect.
>>>


More information about the Mercurial-devel mailing list