2005-01-14 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / exceptions.h
index d6c4ffcebcfb2c65e15f9cdedfd4f48017874973..03318aef7752b4d743944dcdb6c7d14cadff36db 100644 (file)
@@ -1,8 +1,8 @@
 /* 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.
 
@@ -51,6 +51,7 @@ enum errors {
   /* Any generic error, the corresponding text is in
      exception.message.  */
   GENERIC_ERROR,
+  NOT_FOUND_ERROR,
   /* Add more errors here.  */
   NR_ERRORS
 };
@@ -59,12 +60,17 @@ struct exception
 {
   enum return_reason reason;
   enum errors error;
-  char *message;
+  const char *message;
 };
 
 /* A pre-defined non-exception.  */
 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);
+
 /* Throw an exception (as described by "struct exception").  Will
    execute a LONG JUMP to the inner most containing exception handler
    established using catch_exceptions() (or similar).
@@ -81,8 +87,8 @@ extern NORETURN void throw_reason (enum return_reason reason) ATTR_NORETURN;
 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
@@ -121,6 +127,10 @@ extern int catch_exceptions_with_msg (struct ui_out *uiout,
                                      void *func_args,
                                      char *errstring, char **gdberrmsg,
                                      return_mask mask);
+
+/* This function, in addition, suppresses the printing of the captured
+   error message.  It's up to the client to print it.  */
+
 extern struct exception catch_exception (struct ui_out *uiout,
                                         catch_exception_ftype *func,
                                         void *func_args,
This page took 0.024753 seconds and 4 git commands to generate.