mirror of https://github.com/python/cpython.git
New error handling in getattr().
This commit is contained in:
parent
0539ba2c74
commit
2b654f74c2
|
@ -9,6 +9,7 @@
|
|||
#include "fileobject.h"
|
||||
#include "methodobject.h"
|
||||
#include "objimpl.h"
|
||||
#include "errors.h"
|
||||
|
||||
typedef struct {
|
||||
OB_HEAD
|
||||
|
@ -248,7 +249,7 @@ filegetattr(f, name)
|
|||
return newmethodobject(ml->ml_name, ml->ml_meth,
|
||||
(object *)f);
|
||||
}
|
||||
errno = ESRCH;
|
||||
err_setstr(NameError, name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include "dictobject.h"
|
||||
#include "moduleobject.h"
|
||||
#include "objimpl.h"
|
||||
#include "errors.h"
|
||||
|
||||
typedef struct {
|
||||
OB_HEAD
|
||||
|
@ -94,10 +95,8 @@ modulegetattr(m, name)
|
|||
char *name;
|
||||
{
|
||||
object *res = dictlookup(m->md_dict, name);
|
||||
if (res == NULL) {
|
||||
if (errno == ENOENT)
|
||||
errno = ESRCH;
|
||||
}
|
||||
if (res == NULL)
|
||||
err_setstr(NameError, name);
|
||||
else
|
||||
INCREF(res);
|
||||
return res;
|
||||
|
|
Loading…
Reference in New Issue