Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 87e7ea7

Browse files
committed
Use new exceptions.
1 parent 97ff530 commit 87e7ea7

8 files changed

Lines changed: 39 additions & 48 deletions

File tree

Modules/stdwinmodule.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6868

6969
#include "stdwin.h"
7070

71+
#define StdwinError RuntimeError /* XXX Change this later */
72+
7173
/* Window and menu object types declared here because of forward references */
7274

7375
typedef struct {
@@ -870,7 +872,7 @@ text_draw(self, args)
870872
if (!getrectarg(args, a))
871873
return NULL;
872874
if (Drawing != NULL) {
873-
err_setstr(RuntimeError, "already drawing");
875+
err_setstr(StdwinError, "already drawing");
874876
return NULL;
875877
}
876878
/* Clip to text area and ignore if area is empty */
@@ -1029,8 +1031,7 @@ text_settext(self, args)
10291031
return NULL;
10301032
size = getstringsize(text);
10311033
if ((buf = NEW(char, size)) == NULL) {
1032-
err_set(MemoryError);
1033-
return NULL;
1034+
return err_nomem();
10341035
}
10351036
memcpy(buf, getstringvalue(text), size);
10361037
tesetbuf(self->t_text, buf, size); /* Becomes owner of buffer */
@@ -1145,7 +1146,7 @@ newmenuobject(title)
11451146
break;
11461147
}
11471148
if (id >= MAXNMENU) {
1148-
err_setstr(MemoryError, "creating too many menus");
1149+
err_setstr(StdwinError, "creating too many menus");
11491150
return NULL;
11501151
}
11511152
menu = wmenucreate(id + IDOFFSET, getstringvalue(title));
@@ -1374,7 +1375,7 @@ window_begindrawing(wp, args)
13741375
if (!getnoarg(args))
13751376
return NULL;
13761377
if (Drawing != NULL) {
1377-
err_setstr(RuntimeError, "already drawing");
1378+
err_setstr(StdwinError, "already drawing");
13781379
return NULL;
13791380
}
13801381
dp = NEWOBJ(drawingobject, &Drawingtype);
@@ -1596,7 +1597,7 @@ window_setwincursor(self, args)
15961597
return NULL;
15971598
c = wfetchcursor(getstringvalue(str));
15981599
if (c == NULL) {
1599-
err_setstr(RuntimeError, "no such cursor");
1600+
err_setstr(StdwinError, "no such cursor");
16001601
return NULL;
16011602
}
16021603
wsetwincursor(self->w_win, c);
@@ -1710,7 +1711,7 @@ stdwin_open(sw, args)
17101711
break;
17111712
}
17121713
if (tag >= MAXNWIN) {
1713-
err_setstr(MemoryError, "creating too many windows");
1714+
err_setstr(StdwinError, "creating too many windows");
17141715
return NULL;
17151716
}
17161717
wp = NEWOBJ(windowobject, &Windowtype);
@@ -1766,7 +1767,7 @@ stdwin_get_poll_event(poll, args)
17661767
if (!getnoarg(args))
17671768
return NULL;
17681769
if (Drawing != NULL) {
1769-
err_setstr(RuntimeError, "cannot getevent() while drawing");
1770+
err_setstr(StdwinError, "cannot getevent() while drawing");
17701771
return NULL;
17711772
}
17721773
again:

Objects/fileobject.c

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ newfileobject(name, mode)
9595
#endif
9696
f->f_fp = fopen(name, mode);
9797
if (f->f_fp == NULL) {
98-
err_errno(RuntimeError);
98+
err_errno(IOError);
9999
DECREF(f);
100100
return NULL;
101101
}
@@ -166,7 +166,7 @@ file_close(f, args)
166166
if (sts == EOF) {
167167
if (errno == 0)
168168
errno = EIO;
169-
return err_errno(RuntimeError);
169+
return err_errno(IOError);
170170
}
171171
if (sts != 0)
172172
return newintobject((long)sts);
@@ -198,7 +198,7 @@ file_seek(f, args)
198198
if (fseek(f->f_fp, offset, (int)whence) != 0) {
199199
if (errno == 0)
200200
errno = EIO;
201-
return err_errno(RuntimeError);
201+
return err_errno(IOError);
202202
}
203203
INCREF(None);
204204
return None;
@@ -219,7 +219,7 @@ file_tell(f, args)
219219
if (offset == -1L) {
220220
if (errno == 0)
221221
errno = EIO;
222-
return err_errno(RuntimeError);
222+
return err_errno(IOError);
223223
}
224224
return newintobject(offset);
225225
}
@@ -237,7 +237,7 @@ file_flush(f, args)
237237
if (fflush(f->f_fp) != 0) {
238238
if (errno == 0)
239239
errno = EIO;
240-
return err_errno(RuntimeError);
240+
return err_errno(IOError);
241241
}
242242
INCREF(None);
243243
return None;
@@ -441,7 +441,6 @@ file_write(f, args)
441441
object *args;
442442
{
443443
int n, n2;
444-
char *s;
445444
if (f->f_fp == NULL) {
446445
err_badarg();
447446
return NULL;
@@ -452,20 +451,11 @@ file_write(f, args)
452451
}
453452
f->f_softspace = 0;
454453
errno = 0;
455-
n = getstringsize(args);
456-
s = getstringvalue(args);
457-
if (n > BUFSIZ) {
458-
fflush(f->f_fp);
459-
n2 = write(fileno(f->f_fp), s, n);
460-
fflush(f->f_fp);
461-
}
462-
else {
463-
n2 = fwrite(s, 1, n, f->f_fp);
464-
}
454+
n2 = fwrite(getstringvalue(args), 1, n = getstringsize(args), f->f_fp);
465455
if (n2 != n) {
466456
if (errno == 0)
467457
errno = EIO;
468-
err_errno(RuntimeError);
458+
err_errno(IOError);
469459
return NULL;
470460
}
471461
INCREF(None);

Objects/listobject.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ listindex(self, args)
543543
if (cmpobject(self->ob_item[i], args) == 0)
544544
return newintobject(i);
545545
}
546-
err_setstr(RuntimeError, "list.index(x): x not in list");
546+
err_setstr(ValueError, "list.index(x): x not in list");
547547
return NULL;
548548
}
549549

@@ -586,7 +586,7 @@ listremove(self, args)
586586
}
587587

588588
}
589-
err_setstr(RuntimeError, "list.remove(x): x not in list");
589+
err_setstr(ValueError, "list.remove(x): x not in list");
590590
return NULL;
591591
}
592592

Objects/longobject.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ getlongvalue(vv)
168168
prev = x;
169169
x = (x << SHIFT) + v->ob_digit[i];
170170
if ((x >> SHIFT) != prev) {
171-
err_setstr(RuntimeError,
171+
err_setstr(ValueError,
172172
"long int too long to convert");
173173
return -1;
174174
}
@@ -422,7 +422,7 @@ long_divrem(a, b, prem)
422422
if (size_b == 0) {
423423
if (prem != NULL)
424424
*prem = NULL;
425-
err_setstr(RuntimeError, "long division by zero");
425+
err_setstr(ZeroDivisionError, "long division or remainder");
426426
return NULL;
427427
}
428428
if (size_a < size_b ||
@@ -938,7 +938,7 @@ long_pow(a, w)
938938
if (size_b == ~0)
939939
size_b = 0;
940940
else if (size_b < 0) {
941-
err_setstr(RuntimeError, "long integer to the negative power");
941+
err_setstr(ValueError, "long integer to the negative power");
942942
return NULL;
943943
}
944944

@@ -1054,11 +1054,11 @@ long_rshift(a, b)
10541054
if (shiftby == -1L && err_occurred())
10551055
return NULL;
10561056
if (shiftby < 0) {
1057-
err_setstr(RuntimeError, "negative shift count");
1057+
err_setstr(ValueError, "negative shift count");
10581058
return NULL;
10591059
}
10601060
if (shiftby > MASK) {
1061-
err_setstr(RuntimeError, "outrageous shift count");
1061+
err_setstr(ValueError, "outrageous shift count");
10621062
return NULL;
10631063
}
10641064
wordshift = shiftby / SHIFT;
@@ -1105,11 +1105,11 @@ long_lshift(a, b)
11051105
if (shiftby == -1L && err_occurred())
11061106
return NULL;
11071107
if (shiftby < 0) {
1108-
err_setstr(RuntimeError, "negative shift count");
1108+
err_setstr(ValueError, "negative shift count");
11091109
return NULL;
11101110
}
11111111
if (shiftby > MASK) {
1112-
err_setstr(RuntimeError, "outrageous shift count");
1112+
err_setstr(ValueError, "outrageous shift count");
11131113
return NULL;
11141114
}
11151115
if (shiftby % SHIFT == 0) {

Objects/moduleobject.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ module_getattr(m, name)
118118
}
119119
res = dictlookup(m->md_dict, name);
120120
if (res == NULL)
121-
err_setstr(NameError, name);
121+
err_setstr(AttributeError, name);
122122
else
123123
INCREF(res);
124124
return res;
@@ -131,7 +131,7 @@ module_setattr(m, name, v)
131131
object *v;
132132
{
133133
if (strcmp(name, "__dict__") == 0 || strcmp(name, "__name__") == 0) {
134-
err_setstr(NameError, "can't assign to reserved member name");
134+
err_setstr(TypeError, "can't assign to reserved member name");
135135
return -1;
136136
}
137137
if (v == NULL)

Python/errors.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,10 @@ err_input(err)
180180
case E_OK:
181181
break;
182182
case E_SYNTAX:
183-
err_setstr(RuntimeError, "syntax error");
183+
err_setstr(ValueError, "syntax error");
184184
break;
185185
case E_TOKEN:
186-
err_setstr(RuntimeError, "illegal token");
186+
err_setstr(ValueError, "illegal token");
187187
break;
188188
case E_INTR:
189189
err_set(KeyboardInterrupt);
@@ -195,7 +195,7 @@ err_input(err)
195195
err_set(EOFError);
196196
break;
197197
default:
198-
err_setstr(RuntimeError, "unknown input error");
198+
err_setstr(SystemError, "unknown input error");
199199
break;
200200
}
201201
}

Python/marshal.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ rd_object(fp)
191191
switch (type) {
192192

193193
case EOF:
194-
err_setstr(RuntimeError, "EOF read where object expected");
194+
err_setstr(EOFError, "EOF read where object expected");
195195
return NULL;
196196

197197
case TYPE_NULL:
@@ -227,19 +227,19 @@ rd_object(fp)
227227
char *end;
228228
n = rd_byte(fp);
229229
if (fread(buf, 1, (int)n, fp) != n) {
230-
err_setstr(RuntimeError,
230+
err_setstr(EOFError,
231231
"EOF read where object expected");
232232
return NULL;
233233
}
234234
buf[n] = '\0';
235235
errno = 0;
236236
res = strtod(buf, &end);
237237
if (*end != '\0') {
238-
err_setstr(RuntimeError, "bad float syntax");
238+
err_setstr(ValueError, "bad float syntax");
239239
return NULL;
240240
}
241241
if (errno != 0) {
242-
err_setstr(RuntimeError,
242+
err_setstr(ValueError,
243243
"float constant too large");
244244
return NULL;
245245
}
@@ -253,7 +253,7 @@ rd_object(fp)
253253
if (fread(getstringvalue(v), 1, (int)n, fp) != n) {
254254
DECREF(v);
255255
v = NULL;
256-
err_setstr(RuntimeError,
256+
err_setstr(EOFError,
257257
"EOF read where object expected");
258258
}
259259
}
@@ -314,7 +314,7 @@ rd_object(fp)
314314
return v;
315315

316316
default:
317-
err_setstr(RuntimeError, "read unknown object");
317+
err_setstr(TypeError, "read unknown object");
318318
return NULL;
319319

320320
}

Python/structmember.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ getmember(addr, mlist, name)
103103
}
104104
}
105105

106-
err_setstr(NameError, name);
106+
err_setstr(AttributeError, name);
107107
return NULL;
108108
}
109109

@@ -119,7 +119,7 @@ setmember(addr, mlist, name, v)
119119
for (l = mlist; l->name != NULL; l++) {
120120
if (strcmp(l->name, name) == 0) {
121121
if (l->readonly || l->type == T_STRING) {
122-
err_setstr(RuntimeError, "readonly attribute");
122+
err_setstr(TypeError, "readonly attribute");
123123
return -1;
124124
}
125125
addr += l->offset;
@@ -178,6 +178,6 @@ setmember(addr, mlist, name, v)
178178
}
179179
}
180180

181-
err_setstr(NameError, name);
181+
err_setstr(AttributeError, name);
182182
return -1;
183183
}

0 commit comments

Comments
 (0)