Lars Friedrich added the comment:
Thank you for your reply.
I am not sure if I understood correctly:
Do you suggest to modify ctypes.__init__.py so that the __getattr__ method of
LibraryLoader catches the OSError and raises an AttributeError instead, as in
your example?
--
Eryk Sun added the comment:
ctypes.windll is an instance of ctypes.LibraryLoader, which has a __getattr__
method that calls ctypes.WinDLL(name) and caches the result as an instance
attribute. I suppose with chained exceptions it's reasonable to handle OSError
in __getattr__ by raising
New submission from Lars Friedrich :
The following creates an OSError:
import ctypes
hasattr(ctypes.windll, 'test')
The expected behavior would be to return "False"
--
components: ctypes
messages: 326528
nosy: lfriedri
priority: normal
severity: normal
status: open
title: ctypes +