blob: f0e37620b9e2cadf995ca514d5babd550ca9c20b [file] [log] [blame]
/* Error handling definitions */
void err_set PROTO((object *));
void err_setval PROTO((object *, object *));
void err_setstr PROTO((object *, char *));
int err_occurred PROTO((void));
void err_get PROTO((object **, object **));
void err_clear PROTO((void));
/* Predefined exceptions (in run.c) */
extern object *RuntimeError;
extern object *EOFError;
extern object *TypeError;
extern object *MemoryError;
extern object *NameError;
extern object *SystemError;
extern object *KeyboardInterrupt;
/* Some more planned for the future */
#define IndexError RuntimeError
#define KeyError RuntimeError
#define ZeroDivisionError RuntimeError
#define OverflowError RuntimeError
/* Convenience functions */
extern int err_badarg PROTO((void));
extern object *err_nomem PROTO((void));
extern object *err_errno PROTO((object *));
extern void err_badcall PROTO((void));