26#if ! defined (octave_error_h)
27#define octave_error_h 1
29#include "octave-config.h"
68 bool val = m_debug_on_error;
69 m_debug_on_error = flag;
82 bool val = m_debug_on_caught;
83 m_debug_on_caught = flag;
96 bool val = m_debug_on_warning;
97 m_debug_on_warning = flag;
106 m_discard_warning_messages = flag;
111 return m_discard_warning_messages;
116 bool val = m_discard_warning_messages;
117 m_discard_warning_messages = flag;
130 bool val = m_beep_on_error;
131 m_beep_on_error = flag;
144 bool val = m_backtrace_on_warning;
145 m_backtrace_on_warning = flag;
158 bool val = m_verbose_warning;
159 m_verbose_warning = flag;
172 bool val = m_quiet_warning;
173 m_quiet_warning = flag;
180 { m_warning_options = val; }
185 m_warning_options = new_val;
193 { m_last_error_message = val; }
199 std::string val = m_last_error_message;
200 m_last_error_message = s;
208 { m_last_warning_message = val; }
211 {
return m_last_warning_message; }
215 std::string val = m_last_warning_message;
216 m_last_warning_message = s;
224 { m_last_warning_id = val; }
230 std::string val = m_last_warning_id;
231 m_last_warning_id = s;
244 std::string val = m_last_error_id;
251 m_last_error_stack = val;
259 m_last_error_stack = new_val;
266 static OCTINTERP_API std::list<frame_info>
268 const std::string& who =
"error");
277 verror (
bool save_last_error, std::ostream& os,
const char *name,
278 const char *
id,
const char *fmt, va_list args,
279 bool with_cfn =
false);
282 vwarning (
const char *name,
const char *
id,
const char *fmt,
291 OCTINTERP_API
void error_1 (
const char *
id,
const char *fmt, va_list args);
294 OCTINTERP_API
void vusage (
const char *
id,
const char *fmt, va_list args);
296 OCTINTERP_API
void vwarning (
const char *
id,
const char *fmt, va_list args);
300 rethrow_error (
const std::string&
id,
const std::string& msg,
304 OCTINTERP_API
void vpanic (
const char *fmt, va_list args);
307 OCTINTERP_API
void panic (
const char *fmt, ...);
330 const std::string&
id,
332 const std::list<frame_info>& stack_info
333 = std::list<frame_info> ());
350 bool m_debug_on_error;
355 bool m_debug_on_caught;
360 bool m_debug_on_warning;
364 bool m_discard_warning_messages;
368 bool m_beep_on_error;
372 bool m_backtrace_on_warning;
376 bool m_verbose_warning;
380 bool m_quiet_warning;
386 std::string m_last_error_message;
389 std::string m_last_warning_message;
392 std::string m_last_warning_id;
395 std::string m_last_error_id;
401OCTAVE_END_NAMESPACE(octave)
409extern OCTINTERP_API
void
410vmessage (
const char *name,
const char *fmt, va_list args);
412OCTAVE_FORMAT_PRINTF (2, 3)
413extern OCTINTERP_API
void message (const
char *name, const
char *fmt, ...);
415extern OCTINTERP_API
void vwarning (const
char *fmt, va_list args);
417OCTAVE_FORMAT_PRINTF (1, 2)
418extern OCTINTERP_API
void warning (const
char *fmt, ...);
421extern OCTINTERP_API
void verror (const
char *fmt, va_list args);
423OCTAVE_FORMAT_PRINTF (1, 2)
425extern OCTINTERP_API
void error (const
char *fmt, ...);
428extern OCTINTERP_API
void
431OCTAVE_FORMAT_PRINTF (2, 3)
433extern OCTINTERP_API
void
437extern OCTINTERP_API
void
440OCTAVE_FORMAT_PRINTF (1, 2)
442extern OCTINTERP_API
void
446extern OCTINTERP_API
void
449OCTAVE_FORMAT_PRINTF (1, 2)
451extern OCTINTERP_API
void
455extern OCTINTERP_API
void
458OCTAVE_FORMAT_PRINTF (2, 3)
460extern OCTINTERP_API
void
463extern OCTINTERP_API
void
466OCTAVE_FORMAT_PRINTF (2, 3)
467extern OCTINTERP_API
void
471extern OCTINTERP_API
void
474OCTAVE_FORMAT_PRINTF (2, 3)
476extern OCTINTERP_API
void
480extern OCTINTERP_API
void
483OCTAVE_FORMAT_PRINTF (2, 3)
485extern OCTINTERP_API
void
489extern OCTINTERP_API
void
492OCTAVE_FORMAT_PRINTF (2, 3)
494extern OCTINTERP_API
void
508#define error_impossible() \
509 ::error ("impossible state reached in file '%s' at line %d", __FILE__, __LINE__)
511#define error_if(cond) do { if (cond) error_impossible (); } while (0)
513#define error_unless(cond) error_if (! (cond))
535OCTAVE_END_NAMESPACE(octave)
bool debug_on_error(bool flag)
std::string last_error_message() const
void set_beep_on_error(bool flag)
void interpreter_try(unwind_protect &frame)
void display_warning_options(std::ostream &os)
static std::list< frame_info > make_stack_frame_list(const octave_map &stack, const std::string &who="error")
void set_last_warning_id(const std::string &val)
void set_discard_warning_messages(bool flag)
void set_quiet_warning(bool flag)
void set_last_warning_message(const std::string &val)
std::string last_warning_id() const
bool debug_on_error() const
OCTAVE_NORETURN void error_1(execution_exception &ee, const char *id, const char *fmt, va_list args)
OCTAVE_NORETURN void vpanic(const char *fmt, va_list args)
std::string last_warning_id(const std::string &s)
bool debug_on_warning() const
void verror(bool save_last_error, std::ostream &os, const char *name, const char *id, const char *fmt, va_list args, bool with_cfn=false)
void set_warning_option(const std::string &state, const std::string &id)
std::string last_warning_message(const std::string &s)
bool beep_on_error() const
OCTAVE_NORETURN void rethrow_error(const std::string &id, const std::string &msg, const octave_map &stack)
bool verbose_warning() const
octave_scalar_map warning_query(const std::string &id_arg)
std::string last_error_id(const std::string &s)
OCTAVE_NORETURN void throw_error(const std::string &err_type, const std::string &id, const std::string &message, const std::list< frame_info > &stack_info=std::list< frame_info >())
octave_map last_error_stack() const
int warning_enabled(const std::string &id)
For given warning ID, return 0 if warnings are disabled, 1 if enabled, and 2 if the given ID should b...
std::string last_warning_message() const
octave_map warning_options(const octave_map &new_val)
bool verbose_warning(bool flag)
octave_map last_error_stack(const octave_map &new_val)
static octave_map make_stack_map(const std::list< frame_info > &frames)
OCTAVE_NORETURN void vusage(const char *id, const char *fmt, va_list args)
bool backtrace_on_warning(bool flag)
bool debug_on_caught(bool flag)
bool discard_warning_messages() const
octave_map warning_options() const
void set_last_error_stack(const octave_map &val)
void disable_warning(const std::string &id)
void initialize_default_warning_state()
void vwarning(const char *name, const char *id, const char *fmt, va_list args)
void set_debug_on_warning(bool flag)
bool debug_on_caught() const
void set_verbose_warning(bool flag)
std::string last_error_id() const
void save_exception(const execution_exception &ee)
void set_last_error_id(const std::string &val)
bool discard_warning_messages(bool flag)
void set_backtrace_on_warning(bool flag)
bool quiet_warning() const
bool quiet_warning(bool flag)
bool beep_on_error(bool flag)
bool backtrace_on_warning() const
std::string default_warning_state()
void set_debug_on_caught(bool flag)
void display_exception(const execution_exception &ee) const
bool debug_on_warning(bool flag)
std::string last_error_message(const std::string &s)
void set_warning_options(const octave_map &val)
OCTAVE_NORETURN void panic(const char *fmt,...)
void set_last_error_message(const std::string &val)
void set_debug_on_error(bool flag)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
void warning(const char *fmt,...)
void warning_with_id(const char *id, const char *fmt,...)
OCTAVE_NORETURN void vusage_with_id(const char *id, const char *fmt, va_list args)
void interpreter_try(octave::unwind_protect &)
OCTAVE_NORETURN void verror_with_cfn(const char *fmt, va_list args)
void vwarning(const char *fmt, va_list args)
void vwarning_with_id(const char *id, const char *fmt, va_list args)
OCTAVE_NORETURN void usage_with_id(const char *id, const char *fmt,...)
OCTAVE_NORETURN void error_with_id_cfn(const char *id, const char *fmt,...)
OCTAVE_NORETURN void verror_with_id(const char *id, const char *fmt, va_list args)
OCTAVE_NORETURN void error(const char *fmt,...)
OCTAVE_NORETURN void error_with_id(const char *id, const char *fmt,...)
OCTAVE_NORETURN void verror(const char *fmt, va_list args)
OCTAVE_NORETURN void error_with_cfn(const char *fmt,...)
OCTAVE_NORETURN void verror_with_id_cfn(const char *id, const char *fmt, va_list args)
void defun_usage_message(const std::string &msg)
Helper function for print_usage defined in defun.cc.
OCTAVE_NORETURN void parse_error(const char *fmt,...)
void message(const char *name, const char *fmt,...)
OCTAVE_NORETURN void vparse_error(const char *fmt, va_list args)
OCTAVE_NORETURN void vparse_error_with_id(const char *id, const char *fmt, va_list args)
octave_value_list set_warning_state(const std::string &id, const std::string &state)
void vmessage(const char *name, const char *fmt, va_list args)
void disable_warning(const std::string &id)
OCTAVE_NORETURN void parse_error_with_id(const char *id, const char *fmt,...)
int warning_enabled(const std::string &id)