23 #if ! defined (octave_quit_h) 24 #define octave_quit_h 1 26 #include "octave-config.h" 29 #if defined (__cplusplus) 37 #if defined (__cplusplus) 49 : m_stack_trace (
x.m_stack_trace) { }
54 m_stack_trace =
x.m_stack_trace;
61 virtual void set_stack_trace (
const std::string& st)
66 virtual void set_stack_trace (
void)
86 exit_exception (
int exit_status = 0,
bool safe_to_return =
false)
87 : m_exit_status (exit_status), m_safe_to_return (safe_to_return)
90 exit_exception (
const exit_exception& ex)
91 : m_exit_status (ex.m_exit_status), m_safe_to_return (ex.m_safe_to_return)
94 exit_exception& operator = (exit_exception& ex)
98 m_exit_status = ex.m_exit_status;
99 m_safe_to_return = ex.m_safe_to_return;
105 ~exit_exception (
void) =
default;
107 int exit_status (
void)
const {
return m_exit_status; }
109 bool safe_to_return (
void)
const {
return m_safe_to_return; }
115 bool m_safe_to_return;
124 OCTAVE_DEPRECATED (4.2,
"use 'octave::execution_exception' instead")
127 OCTAVE_DEPRECATED (4.2, "use '
octave::exit_exception'
instead")
128 typedef
octave::exit_exception octave_exit_exception;
130 OCTAVE_DEPRECATED (4.2, "use '
octave::interrupt_exception'
instead")
131 typedef
octave::interrupt_exception octave_interrupt_exception;
152 OCTAVE_DEPRECATED (4.4,
"see the Octave documentation for other options")
155 OCTAVE_DEPRECATED (4.4, "see the Octave documentation
for other
options")
168 OCTAVE_DEPRECATED (4.4, "see the Octave documentation
for other
options")
169 OCTAVE_NORETURN OCTAVE_API extern
void 174 #if defined (__cplusplus) 176 OCTAVE_DEPRECATED (4.4,
"see the Octave documentation for other options")
177 extern OCTAVE_API
void 180 inline
void octave_quit (
void)
189 #define OCTAVE_QUIT octave_quit () 193 #define OCTAVE_QUIT \ 196 if (octave_signal_caught) \ 198 octave_signal_caught = 0; \ 199 octave_handle_signal (); \ 213 #define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE \ 217 #define END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE \ 221 #if defined (__cplusplus) 227 #define BEGIN_INTERRUPT_WITH_EXCEPTIONS \ 230 #define END_INTERRUPT_WITH_EXCEPTIONS \ 235 #if defined (__cplusplus)
for(octave_idx_type n=0;n< hcv.numel();n++)
OCTAVE_API sig_atomic_t octave_interrupt_state
OCTAVE_NORETURN OCTAVE_API void octave_throw_execution_exception(void)
OCTAVE_API void octave_handle_signal(void)
OCTAVE_NORETURN OCTAVE_API void octave_throw_bad_alloc(void)
OCTAVE_API void octave_rethrow_exception(void)
void(* octave_signal_hook)(void)
OCTAVE_NORETURN OCTAVE_API void octave_throw_exit_exception(int exit_status, int safe_to_return)
OCTAVE_API sig_atomic_t octave_exception_state
OCTAVE_NORETURN OCTAVE_API void octave_throw_interrupt_exception(void)
OCTAVE_API sig_atomic_t octave_exit_exception_status
OCTAVE_EXPORT octave_value_list only variables visible in the local scope are displayed The following are valid options
OCTAVE_API sig_atomic_t octave_exit_exception_safe_to_return
void(* octave_interrupt_hook)(void)
void clean_up_and_exit(int exit_status, bool)
void(* octave_bad_alloc_hook)(void)
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
OCTAVE_API volatile sig_atomic_t octave_signal_caught
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x