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>
276 verror (
bool save_last_error, std::ostream& os,
const char *name,
277 const char *
id,
const char *fmt, va_list args,
278 bool with_cfn =
false);
281 vwarning (
const char *name,
const char *
id,
const char *fmt,
290 OCTINTERP_API
void error_1 (
const char *
id,
const char *fmt, va_list args);
293 OCTINTERP_API
void vusage (
const char *
id,
const char *fmt, va_list args);
295 OCTINTERP_API
void vwarning (
const char *
id,
const char *fmt, va_list args);
299 rethrow_error (
const std::string&
id,
const std::string& msg,
303 OCTINTERP_API
void vpanic (
const char *fmt, va_list args);
306 OCTINTERP_API
void panic (
const char *fmt, ...);
329 const std::string&
id,
331 const std::list<frame_info>& stack_info
332 = std::list<frame_info> ());
349 bool m_debug_on_error;
354 bool m_debug_on_caught;
359 bool m_debug_on_warning;
363 bool m_discard_warning_messages;
367 bool m_beep_on_error;
371 bool m_backtrace_on_warning;
375 bool m_verbose_warning;
379 bool m_quiet_warning;
385 std::string m_last_error_message;
388 std::string m_last_warning_message;
391 std::string m_last_warning_id;
394 std::string m_last_error_id;
400OCTAVE_END_NAMESPACE(octave)
408extern OCTINTERP_API
void
409vmessage (
const char *name,
const char *fmt, va_list args);
411OCTAVE_FORMAT_PRINTF (2, 3)
412extern OCTINTERP_API
void message (const
char *name, const
char *fmt, ...);
414extern OCTINTERP_API
void vwarning (const
char *fmt, va_list args);
416OCTAVE_FORMAT_PRINTF (1, 2)
417extern OCTINTERP_API
void warning (const
char *fmt, ...);
420extern OCTINTERP_API
void verror (const
char *fmt, va_list args);
422OCTAVE_FORMAT_PRINTF (1, 2)
424extern OCTINTERP_API
void error (const
char *fmt, ...);
427extern OCTINTERP_API
void
430OCTAVE_FORMAT_PRINTF (2, 3)
432extern OCTINTERP_API
void
436extern OCTINTERP_API
void
439OCTAVE_FORMAT_PRINTF (1, 2)
441extern OCTINTERP_API
void
445extern OCTINTERP_API
void
448OCTAVE_FORMAT_PRINTF (1, 2)
450extern OCTINTERP_API
void
454extern OCTINTERP_API
void
457OCTAVE_FORMAT_PRINTF (2, 3)
459extern OCTINTERP_API
void
462extern OCTINTERP_API
void
465OCTAVE_FORMAT_PRINTF (2, 3)
466extern OCTINTERP_API
void
470extern OCTINTERP_API
void
473OCTAVE_FORMAT_PRINTF (2, 3)
475extern OCTINTERP_API
void
479extern OCTINTERP_API
void
482OCTAVE_FORMAT_PRINTF (2, 3)
484extern OCTINTERP_API
void
488extern OCTINTERP_API
void
491OCTAVE_FORMAT_PRINTF (2, 3)
493extern OCTINTERP_API
void
507#define error_impossible() \
508 ::error ("impossible state reached in file '%s' at line %d", __FILE__, __LINE__)
510#define error_if(cond) do { if (cond) error_impossible (); } while (0)
512#define error_unless(cond) error_if (! (cond))
534OCTAVE_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)
void set_last_warning_id(const std::string &val)
void set_discard_warning_messages(bool flag)
static std::list< frame_info > make_stack_frame_list(const octave_map &stack)
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)