]> granicus.if.org Git - python/commitdiff
Michael Hudson <mwh21@cam.ac.uk>:
authorFred Drake <fdrake@acm.org>
Thu, 1 Jun 2000 02:02:46 +0000 (02:02 +0000)
committerFred Drake <fdrake@acm.org>
Thu, 1 Jun 2000 02:02:46 +0000 (02:02 +0000)
Removed PyErr_BadArgument() calls and replaced them with more useful
error messages.

Modules/arraymodule.c
Modules/posixmodule.c
Modules/structmodule.c

index 9a09c7d720eebdcab6d294eee59acbcadc859275..7966e0a7874f3515cb508b492007055b27b3971a 100644 (file)
@@ -540,7 +540,9 @@ array_concat(a, bb)
        int size;
        arrayobject *np;
        if (!is_arrayobject(bb)) {
-               PyErr_BadArgument();
+               PyErr_Format(PyExc_TypeError,
+                    "can only append array (not \"%.200s\") to array",
+                            bb->ob_type->tp_name);
                return NULL;
        }
 #define b ((arrayobject *)bb)
@@ -613,7 +615,9 @@ array_ass_slice(a, ilow, ihigh, v)
                }
        }
        else {
-               PyErr_BadArgument();
+               PyErr_Format(PyExc_TypeError,
+            "can only assign array (not \"%.200s\") to array slice",
+                            v->ob_type->tp_name);
                return -1;
        }
        if (ilow < 0)
@@ -821,7 +825,8 @@ array_reverse(self, args)
        char tmp[sizeof(double)]; /* Assume that's the max item size */
 
        if (args != NULL) {
-               PyErr_BadArgument();
+               PyErr_SetString(PyExc_TypeError,
+                    "<array>.reverse requires exactly 0 arguments");
                return NULL;
        }
 
index 1ca3826d752116f63705ba5593b070be378ddb0a..20efb0ebfc64a0cfef0d0e44eaa646c9956dc9bf 100644 (file)
@@ -1562,8 +1562,7 @@ posix_spawnv(self, args)
                getitem = PyTuple_GetItem;
        }
        else {
- badarg:
-               PyErr_BadArgument();
+               PyErr_SetString(PyExc_TypeError, "argv must be tuple or list");
                return NULL;
        }
 
@@ -1573,7 +1572,9 @@ posix_spawnv(self, args)
        for (i = 0; i < argc; i++) {
                if (!PyArg_Parse((*getitem)(argv, i), "s", &argvlist[i])) {
                        PyMem_DEL(argvlist);
-                       goto badarg;
+                       PyErr_SetString(PyExc_TypeError, 
+                                       "all arguments must be strings");
+                       return NULL;
                }
        }
        argvlist[argc] = NULL;
index 0a706a90e6ba972b234cd7b81295667bef2ecd8e..d872e31aa3830e55311585bb72b9224c0869b90f 100644 (file)
@@ -1128,7 +1128,8 @@ struct_pack(self, args)
        if (args == NULL || !PyTuple_Check(args) ||
            (n = PyTuple_Size(args)) < 1)
         {
-               PyErr_BadArgument();
+               PyErr_SetString(PyExc_TypeError, 
+                       "struct.pack requires at least one argument");
                return NULL;
        }
        format = PyTuple_GetItem(args, 0);