Ray.Allen <ysj....@gmail.com> added the comment: This patch makes the AttributeError message generated from getting attributes from module object more helpful, that is, print the module name. Now the error message is: module object 'mod_name' has no attribute 'xxx' Instead of: 'module' object has no attribute 'xxx'
In this patch, I add a function PyObject_GenericFindAttr(), which is almost the same as PyObject_GenericGetAttr(), except that return NULL instead of setting the exception, and make PyObject_GenericGetAttr() call this function and setting exception in the case of NULL return value. Through this, each type can custom its own AttributeError message, while using the uniform process of getting the attribute in PyObject_GenericFindAttr(). For example, PyModuleType's tp_getattro is set to a new function PyModule_GetAttr(), which calls the PyObject_GenericFindAttr() can set the customed AttributeError message. Besides, I think the super object's AttributeError message should also be improved, but I didn't include that in the patch. I don't know weather it is suitable. ---------- keywords: +patch Added file: http://bugs.python.org/file16780/issue_8297.diff _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8297> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com