Guido van Rossum | 85a5fbb | 1990-10-14 12:07:46 +0000 | [diff] [blame] | 1 | /* Error handling definitions */ |
| 2 | |
| 3 | void err_set PROTO((object *)); |
| 4 | void err_setval PROTO((object *, object *)); |
| 5 | void err_setstr PROTO((object *, char *)); |
| 6 | int err_occurred PROTO((void)); |
| 7 | void err_get PROTO((object **, object **)); |
| 8 | void err_clear PROTO((void)); |
| 9 | |
Guido van Rossum | 3f5da24 | 1990-12-20 15:06:42 +0000 | [diff] [blame^] | 10 | /* Predefined exceptions */ |
Guido van Rossum | 5c600e1 | 1990-10-14 20:00:25 +0000 | [diff] [blame] | 11 | |
| 12 | extern object *RuntimeError; |
| 13 | extern object *EOFError; |
| 14 | extern object *TypeError; |
| 15 | extern object *MemoryError; |
| 16 | extern object *NameError; |
| 17 | extern object *SystemError; |
| 18 | extern object *KeyboardInterrupt; |
| 19 | |
Guido van Rossum | 3e55cb6 | 1990-10-21 22:09:30 +0000 | [diff] [blame] | 20 | /* 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 Rossum | 5c600e1 | 1990-10-14 20:00:25 +0000 | [diff] [blame] | 27 | /* Convenience functions */ |
| 28 | |
| 29 | extern int err_badarg PROTO((void)); |
| 30 | extern object *err_nomem PROTO((void)); |
| 31 | extern object *err_errno PROTO((object *)); |
Guido van Rossum | 3f5da24 | 1990-12-20 15:06:42 +0000 | [diff] [blame^] | 32 | extern void err_input PROTO((int)); |
Guido van Rossum | 3e55cb6 | 1990-10-21 22:09:30 +0000 | [diff] [blame] | 33 | |
| 34 | extern void err_badcall PROTO((void)); |