#include <cstdarg>
#include <cstring>
#include <iostream>
#include <sstream>
#include <string>
#include "defun.h"
#include "error.h"
#include "input.h"
#include "pager.h"
#include "oct-obj.h"
#include "oct-map.h"
#include "utils.h"
#include "ov.h"
#include "ov-usr-fcn.h"
#include "pt-pr-code.h"
#include "pt-stmt.h"
#include "toplev.h"
#include "unwind-prot.h"
#include "variables.h"
Typedefs | |
typedef void(* | error_fun )(const char *, const char *,...) |
Functions | |
void | reset_error_handler (void) |
void | vmessage (const char *name, const char *fmt, va_list args) |
void | message (const char *name, const char *fmt,...) |
void | vmessage_with_id (const char *name, const char *id, const char *fmt, va_list args) |
void | message_with_id (const char *name, const char *id, const char *fmt,...) |
void | usage_1 (const char *id, const char *fmt, va_list args) |
void | vusage (const char *fmt, va_list args) |
void | usage (const char *fmt,...) |
void | vusage_with_id (const char *id, const char *fmt, va_list args) |
void | usage_with_id (const char *id, const char *fmt,...) |
void | verror (const char *fmt, va_list args) |
void | error (const char *fmt,...) |
void | verror_with_id (const char *id, const char *fmt, va_list args) |
void | error_with_id (const char *id, const char *fmt,...) |
int | warning_enabled (const std::string &id) |
void | vwarning (const char *fmt, va_list args) |
void | warning (const char *fmt,...) |
void | vwarning_with_id (const char *id, const char *fmt, va_list args) |
void | warning_with_id (const char *id, const char *fmt,...) |
void | vparse_error (const char *fmt, va_list args) |
void | parse_error (const char *fmt,...) |
void | vparse_error_with_id (const char *id, const char *fmt, va_list args) |
void | parse_error_with_id (const char *id, const char *fmt,...) |
void | rethrow_error (const char *id, const char *fmt,...) |
void | panic (const char *fmt,...) |
void | defun_usage_message (const std::string &msg) |
octave_value_list | Fsprintf (const octave_value_list &, int) |
DEFUN (rethrow, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} rethrow (@var{err})\n\ Reissues a previous error as defined by @var{err}. @var{err} is a structure\n\ that must contain at least the 'message' and 'identifier' fields. @var{err}\n\ can also contain a field 'stack' that gives information on the assumed\n\ location of the error. Typically @var{err} is returned from\n\ @code{lasterror}.\n\ @seealso{lasterror, lasterr, error}\n\ @end deftypefn") | |
DEFUN (error, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} error (@var{template}, @dots{})\n\ @deftypefnx {Built-in Function} {} error (@var{id}, @var{template}, @dots{})\n\ Format the optional arguments under the control of the template string\n\ @var{template} using the same rules as the @code{printf} family of\n\ functions (@pxref{Formatted Output}) and print the resulting message\n\ on the @code{stderr} stream. The message is prefixed by the character\n\ string @samp{error: }.\n\ \n\ Calling @code{error} also sets Octave's internal error state such that\n\ control will return to the top level without evaluating any more\n\ commands. This is useful for aborting from functions or scripts.\n\ \n\ If the error message does not end with a new line character, Octave will\n\ print a traceback of all the function calls leading to the error. For\n\ example, given the following function definitions:\n\ \n\ @example\n\ @group\n\ function f () g (); end\n\ function g () h (); end\n\ function h () nargin == 1 || error (\"nargin != 1\"); end\n\ @end group\n\ @end example\n\ \n\ @noindent\n\ calling the function @code{f} will result in a list of messages that\n\ can help you to quickly locate the exact location of the error:\n\ \n\ @example\n\ @group\n\ f ()\n\ error: nargin != 1\n\ error: called from:\n\ error: error at line -1, column -1\n\ error: h at line 1, column 27\n\ error: g at line 1, column 15\n\ error: f at line 1, column 15\n\ @end group\n\ @end example\n\ \n\ If the error message ends in a new line character, Octave will print the\n\ message but will not display any traceback messages as it returns\n\ control to the top level. For example, modifying the error message\n\ in the previous example to end in a new line causes Octave to only print\n\ a single message:\n\ \n\ @example\n\ @group\n\ function h () nargin == 1 || error (\"nargin != 1\\n\"); end\n\ f ()\n\ error: nargin != 1\n\ @end group\n\ @end example\n\ @end deftypefn") | |
DEFUN (warning, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} warning (@var{template}, @dots{})\n\ @deftypefnx {Built-in Function} {} warning (@var{id}, @var{template}, @dots{})\n\ Format the optional arguments under the control of the template string\n\ @var{template} using the same rules as the @code{printf} family of\n\ functions (@pxref{Formatted Output}) and print the resulting message\n\ on the @code{stderr} stream. The message is prefixed by the character\n\ string @samp{warning: }.\n\ You should use this function when you want to notify the user\n\ of an unusual condition, but only when it makes sense for your program\n\ to go on.\n\ \n\ The optional message identifier allows users to enable or disable\n\ warnings tagged by @var{id}. The special identifier @samp{\"all\"} may\n\ be used to set the state of all warnings.\n\ \n\ @deftypefnx {Built-in Function} {} warning (\"on\", @var{id})\n\ @deftypefnx {Built-in Function} {} warning (\"off\", @var{id})\n\ @deftypefnx {Built-in Function} {} warning (\"error\", @var{id})\n\ @deftypefnx {Built-in Function} {} warning (\"query\", @var{id})\n\ Set or query the state of a particular warning using the identifier\n\ @var{id}. If the identifier is omitted, a value of @samp{\"all\"} is\n\ assumed. If you set the state of a warning to @samp{\"error\"}, the\n\ warning named by @var{id} is handled as if it were an error instead.\n\ @seealso{warning_ids}\n\ @end deftypefn") | |
void | disable_warning (const std::string &id) |
void | initialize_default_warning_state (void) |
DEFUN (lasterror, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{err} =} lasterror (@var{err})\n\ @deftypefnx {Built-in Function} {} lasterror ('reset')\n\ Returns or sets the last error message. Called without any arguments\n\ returns a structure containing the last error message, as well as other\n\ information related to this error. The elements of this structure are:\n\ \n\ @table @asis\n\ @item 'message'\n\ The text of the last error message\n\ @item 'identifier'\n\ The message identifier of this error message\n\ @item 'stack'\n\ A structure containing information on where the message occurred. This might\n\ be an empty structure if this in the case where this information cannot\n\ be obtained. The fields of this structure are:\n\ \n\ @table @asis\n\ @item 'file'\n\ The name of the file where the error occurred\n\ @item 'name'\n\ The name of function in which the error occurred\n\ @item 'line'\n\ The line number at which the error occurred\n\ @item 'column'\n\ An optional field with the column number at which the error occurred\n\ @end table\n\ @end table\n\ \n\ The @var{err} structure may also be passed to @code{lasterror} to set the\n\ information about the last error. The only constraint on @var{err} in that\n\ case is that it is a scalar structure. Any fields of @var{err} that match\n\ the above are set to the value passed in @var{err}, while other fields are\n\ set to their default values.\n\ \n\ If @code{lasterror} is called with the argument 'reset', all values take\n\ their default values.\n\ @end deftypefn") | |
DEFUN (lasterr, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {[@var{msg}, @var{msgid}] =} lasterr (@var{msg}, @var{msgid})\n\ Without any arguments, return the last error message. With one\n\ argument, set the last error message to @var{msg}. With two arguments,\n\ also set the last message identifier.\n\ @end deftypefn") | |
DEFALIAS (error_text, lasterr) | |
DEFALIAS (__error_text__, lasterr) | |
DEFUN (lastwarn, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {[@var{msg}, @var{msgid}] =} lastwarn (@var{msg}, @var{msgid})\n\ Without any arguments, return the last warning message. With one\n\ argument, set the last warning message to @var{msg}. With two arguments,\n\ also set the last message identifier.\n\ @end deftypefn") | |
DEFUN (usage, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} usage (@var{msg})\n\ Print the message @var{msg}, prefixed by the string @samp{usage: }, and\n\ set Octave's internal error state such that control will return to the\n\ top level without evaluating any more commands. This is useful for\n\ aborting from functions.\n\ \n\ After @code{usage} is evaluated, Octave will print a traceback of all\n\ the function calls leading to the usage message.\n\ \n\ You should use this function for reporting problems errors that result\n\ from an improper call to a function, such as calling a function with an\n\ incorrect number of arguments, or with arguments of the wrong type. For\n\ example, most functions distributed with Octave begin with code like\n\ this\n\ \n\ @example\n\ @group\n\ if (nargin != 2)\n\ usage (\"foo (a, b)\");\n\ endif\n\ @end group\n\ @end example\n\ \n\ @noindent\n\ to check for the proper number of arguments.\n\ @end deftypefn") | |
DEFUN (beep_on_error, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{val} =} beep_on_error ()\n\ @deftypefnx {Built-in Function} {@var{old_val} =} beep_on_error (@var{new_val})\n\ Query or set the internal variable that controls whether Octave will try\n\ to ring the terminal bell before printing an error message.\n\ @end deftypefn") | |
DEFUN (debug_on_error, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{val} =} debug_on_error ()\n\ @deftypefnx {Built-in Function} {@var{old_val} =} debug_on_error (@var{new_val})\n\ Query or set the internal variable that controls whether Octave will try\n\ to enter the debugger when an error is encountered. This will also\n\ inhibit printing of the normal traceback message (you will only see\n\ the top-level error message).\n\ @end deftypefn") | |
DEFUN (debug_on_warning, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{val} =} debug_on_warning ()\n\ @deftypefnx {Built-in Function} {@var{old_val} =} debug_on_warning (@var{new_val})\n\ Query or set the internal variable that controls whether Octave will try\n\ to enter the debugger when a warning is encountered.\n\ @end deftypefn") | |
std::string | last_error_message (void) |
std::string | last_error_id (void) |
std::string | last_warning_message (void) |
std::string | last_warning_id (void) |
Variables | |
bool | Vdebug_on_error = false |
bool | Vdebug_on_warning = false |
int | error_state = 0 |
int | warning_state = 0 |
int | buffer_error_messages = 0 |
bool | discard_error_messages = false |
bool | discard_warning_messages = false |
DEFALIAS | ( | __error_text__ | , | |
lasterr | ||||
) |
DEFALIAS | ( | error_text | , | |
lasterr | ||||
) |
DEFUN | ( | debug_on_warning | , | |
args | , | |||
nargout | ||||
) |
DEFUN | ( | debug_on_error | , | |
args | , | |||
nargout | ||||
) |
DEFUN | ( | beep_on_error | , | |
args | , | |||
nargout | ||||
) |
DEFUN | ( | usage | , | |
args | ||||
) |
DEFUN | ( | lastwarn | , | |
args | , | |||
nargout | ||||
) |
DEFUN | ( | lasterr | , | |
args | , | |||
nargout | ||||
) |
DEFUN | ( | lasterror | , | |
args | ||||
) |
DEFUN | ( | warning | , | |
args | , | |||
nargout | ||||
) |
DEFUN | ( | error | , | |
args | ||||
) |
DEFUN | ( | rethrow | , | |
args | ||||
) |
void defun_usage_message | ( | const std::string & | msg | ) |
void disable_warning | ( | const std::string & | id | ) |
void error | ( | const char * | fmt, | |
... | ||||
) |
octave_value_list Fsprintf | ( | const octave_value_list & | , | |
int | ||||
) |
void initialize_default_warning_state | ( | void | ) |
std::string last_error_id | ( | void | ) |
std::string last_error_message | ( | void | ) |
std::string last_warning_id | ( | void | ) |
std::string last_warning_message | ( | void | ) |
void panic | ( | const char * | fmt, | |
... | ||||
) |
void parse_error | ( | const char * | fmt, | |
... | ||||
) |
void reset_error_handler | ( | void | ) |
void usage | ( | const char * | fmt, | |
... | ||||
) |
void verror | ( | const char * | fmt, | |
va_list | args | |||
) |
void vparse_error | ( | const char * | fmt, | |
va_list | args | |||
) |
void vusage | ( | const char * | fmt, | |
va_list | args | |||
) |
void vwarning | ( | const char * | fmt, | |
va_list | args | |||
) |
void warning | ( | const char * | fmt, | |
... | ||||
) |
int warning_enabled | ( | const std::string & | id | ) |
bool discard_error_messages = false |
bool discard_warning_messages = false |
int error_state = 0 |
bool Vdebug_on_error = false |
bool Vdebug_on_warning = false |
int warning_state = 0 |