blob: f0e37620b9e2cadf995ca514d5babd550ca9c20b [file] [log] [blame]
Guido van Rossum85a5fbb1990-10-14 12:07:46 +00001/* Error handling definitions */
2
3void err_set PROTO((object *));
4void err_setval PROTO((object *, object *));
5void err_setstr PROTO((object *, char *));
6int err_occurred PROTO((void));
7void err_get PROTO((object **, object **));
8void err_clear PROTO((void));
9
10/* Predefined exceptions (in run.c) */
Guido van Rossum5c600e11990-10-14 20:00:25 +000011
12extern object *RuntimeError;
13extern object *EOFError;
14extern object *TypeError;
15extern object *MemoryError;
16extern object *NameError;
17extern object *SystemError;
18extern object *KeyboardInterrupt;
19
Guido van Rossum3e55cb61990-10-21 22:09:30 +000020/* Some more planned for the future */
21
22#define IndexError RuntimeError
23#define KeyError RuntimeError
24#define ZeroDivisionError RuntimeError
25#define OverflowError RuntimeError
26
Guido van Rossum5c600e11990-10-14 20:00:25 +000027/* Convenience functions */
28
29extern int err_badarg PROTO((void));
30extern object *err_nomem PROTO((void));
31extern object *err_errno PROTO((object *));
Guido van Rossum3e55cb61990-10-21 22:09:30 +000032
33extern void err_badcall PROTO((void));