/* Exception (throw catch) mechanism, for GDB, the GNU debugger.
Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
- 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
- Foundation, Inc.
+ 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free
+ Software Foundation, Inc.
This file is part of GDB.
/* Any generic error, the corresponding text is in
exception.message. */
GENERIC_ERROR,
+ NOT_FOUND_ERROR,
/* Add more errors here. */
NR_ERRORS
};
extern const struct exception exception_none;
/* If E is an exception, print it's error message on the specified
- stream. */
-extern void exception_print (struct ui_file *file, const char *pre_print,
- struct exception e);
+ stream. for _fprintf, prefix the message with PREFIX... */
+extern void exception_print (struct ui_file *file, struct exception e);
+extern void exception_fprintf (struct ui_file *file, struct exception e,
+ const char *prefix,
+ ...) ATTR_FORMAT (printf, 3, 4);
/* Throw an exception (as described by "struct exception"). Will
execute a LONG JUMP to the inner most containing exception handler
extern NORETURN void throw_verror (enum errors, const char *fmt,
va_list ap) ATTR_NORETURN;
extern NORETURN void throw_vfatal (const char *fmt, va_list ap) ATTR_NORETURN;
-extern NORETURN void throw_vsilent (const char *fmt, va_list ap) ATTR_NORETURN;
-
+extern NORETURN void throw_error (enum errors error, const char *fmt,
+ ...) ATTR_NORETURN ATTR_FORMAT (printf, 2, 3);
/* Call FUNC(UIOUT, FUNC_ARGS) but wrapped within an exception
handler. If an exception (enum return_reason) is thrown using
typedef int (catch_exceptions_ftype) (struct ui_out *ui_out, void *args);
extern int catch_exceptions (struct ui_out *uiout,
catch_exceptions_ftype *func, void *func_args,
- char *errstring, return_mask mask);
+ return_mask mask);
typedef void (catch_exception_ftype) (struct ui_out *ui_out, void *args);
extern int catch_exceptions_with_msg (struct ui_out *uiout,
catch_exceptions_ftype *func,
void *func_args,
- char *errstring, char **gdberrmsg,
+ char **gdberrmsg,
return_mask mask);
/* This function, in addition, suppresses the printing of the captured