#include <setjmp.h>
#include "machine.h"
Go to the source code of this file.
|
| #define | ERR_LIST_MAX_LEN 10 |
| |
| #define | error(err_num, fn_name) ev_err(__FILE__,err_num,__LINE__,fn_name,0) |
| |
| #define | warning(err_num, fn_name) ev_err(__FILE__,err_num,__LINE__,fn_name,1) |
| |
| #define | EF_EXIT 0 /* exit on error */ |
| |
| #define | EF_ABORT 1 /* abort (dump core) on error */ |
| |
| #define | EF_JUMP 2 /* jump on error */ |
| |
| #define | EF_SILENT 3 /* jump, but don't print message */ |
| |
| #define | ERREXIT() set_err_flag(EF_EXIT) |
| |
| #define | ERRABORT() set_err_flag(EF_ABORT) |
| |
| #define | SILENTERR() if ( ! setjmp(restart) ) set_err_flag(EF_SILENT) |
| |
| #define | ON_ERROR() if ( ! setjmp(restart) ) set_err_flag(EF_JUMP) |
| |
| #define | E_UNKNOWN 0 |
| |
| #define | E_SIZES 1 |
| |
| #define | E_BOUNDS 2 |
| |
| #define | E_MEM 3 |
| |
| #define | E_SING 4 |
| |
| #define | E_POSDEF 5 |
| |
| #define | E_FORMAT 6 |
| |
| #define | E_INPUT 7 |
| |
| #define | E_NULL 8 |
| |
| #define | E_SQUARE 9 |
| |
| #define | E_RANGE 10 |
| |
| #define | E_INSITU2 11 |
| |
| #define | E_INSITU 12 |
| |
| #define | E_ITER 13 |
| |
| #define | E_CONV 14 |
| |
| #define | E_START 15 |
| |
| #define | E_SIGNAL 16 |
| |
| #define | E_INTERN 17 |
| |
| #define | E_EOF 18 |
| |
| #define | E_SHARED_VECS 19 |
| |
| #define | E_NEG 20 |
| |
| #define | E_OVERWRITE 21 |
| |
| #define | E_BREAKDOWN 22 |
| |
| #define | WARN_UNKNOWN 0 |
| |
| #define | WARN_WRONG_TYPE 1 |
| |
| #define | WARN_NO_MARK 2 |
| |
| #define | WARN_RES_LESS_0 3 |
| |
| #define | WARN_SHARED_VEC 4 |
| |
| #define | catch(errnum, ok_part, err_part) |
| |
| #define | catchall(ok_part, err_part) |
| |
| #define | tracecatch(ok_part, function) |
| |
◆ catch
| #define catch |
( |
|
errnum, |
|
|
|
ok_part, |
|
|
|
err_part |
|
) |
| |
Value:{ jmp_buf _save; int _err_num, _old_flag; \
MEM_COPY(
restart,_save,
sizeof(jmp_buf)); \
if ( (_err_num=setjmp(
restart)) == 0 ) \
{ ok_part; \
set_err_flag(_old_flag); \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); } \
else if ( _err_num == errnum ) \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); \
err_part; } \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); \
error(_err_num,"catch"); \
} \
}
int set_err_flag(int flag)
Definition at line 129 of file err.h.
◆ catchall
| #define catchall |
( |
|
ok_part, |
|
|
|
err_part |
|
) |
| |
Value:{ jmp_buf _save; int _err_num, _old_flag; \
MEM_COPY(
restart,_save,
sizeof(jmp_buf)); \
if ( (_err_num=setjmp(
restart)) == 0 ) \
{ ok_part; \
set_err_flag(_old_flag); \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); } \
else \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); \
err_part; } \
}
int set_err_flag(int flag)
Definition at line 149 of file err.h.
◆ E_BOUNDS
Definition at line 96 of file err.h.
◆ E_BREAKDOWN
◆ E_CONV
◆ E_EOF
◆ E_FORMAT
◆ E_INPUT
◆ E_INSITU
◆ E_INSITU2
◆ E_INTERN
◆ E_ITER
◆ E_MEM
Definition at line 97 of file err.h.
◆ E_NEG
◆ E_NULL
◆ E_OVERWRITE
◆ E_POSDEF
Definition at line 99 of file err.h.
◆ E_RANGE
◆ E_SHARED_VECS
◆ E_SIGNAL
◆ E_SING
Definition at line 98 of file err.h.
◆ E_SIZES
Definition at line 95 of file err.h.
◆ E_SQUARE
◆ E_START
◆ E_UNKNOWN
Definition at line 94 of file err.h.
◆ EF_ABORT
| #define EF_ABORT 1 /* abort (dump core) on error */ |
Definition at line 82 of file err.h.
◆ EF_EXIT
| #define EF_EXIT 0 /* exit on error */ |
Definition at line 81 of file err.h.
◆ EF_JUMP
| #define EF_JUMP 2 /* jump on error */ |
Definition at line 83 of file err.h.
◆ EF_SILENT
| #define EF_SILENT 3 /* jump, but don't print message */ |
Definition at line 84 of file err.h.
◆ ERR_LIST_MAX_LEN
| #define ERR_LIST_MAX_LEN 10 |
Definition at line 45 of file err.h.
◆ ERRABORT
Definition at line 86 of file err.h.
◆ ERREXIT
Definition at line 85 of file err.h.
◆ error
| #define error |
( |
|
err_num, |
|
|
|
fn_name |
|
) |
| ev_err(__FILE__,err_num,__LINE__,fn_name,0) |
Definition at line 73 of file err.h.
◆ ON_ERROR
Definition at line 90 of file err.h.
◆ SILENTERR
Definition at line 88 of file err.h.
◆ tracecatch
| #define tracecatch |
( |
|
ok_part, |
|
|
|
function |
|
) |
| |
Value:{ jmp_buf _save; int _err_num, _old_flag; \
MEM_COPY(
restart,_save,
sizeof(jmp_buf)); \
if ( (_err_num=setjmp(
restart)) == 0 ) \
{ ok_part; \
set_err_flag(_old_flag); \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); } \
else \
MEM_COPY(_save,
restart,
sizeof(jmp_buf)); \
error(_err_num,function); } \
}
int set_err_flag(int flag)
Definition at line 166 of file err.h.
◆ WARN_NO_MARK
◆ WARN_RES_LESS_0
| #define WARN_RES_LESS_0 3 |
◆ WARN_SHARED_VEC
| #define WARN_SHARED_VEC 4 |
◆ WARN_UNKNOWN
◆ WARN_WRONG_TYPE
| #define WARN_WRONG_TYPE 1 |
◆ warning
| #define warning |
( |
|
err_num, |
|
|
|
fn_name |
|
) |
| ev_err(__FILE__,err_num,__LINE__,fn_name,1) |
Definition at line 77 of file err.h.
◆ count_errs()
| int count_errs |
( |
int |
true_false | ) |
|
◆ err_is_list_attached()
| int err_is_list_attached |
( |
int |
list_num | ) |
|
◆ err_list_attach()
| int err_list_attach |
( |
int |
list_num, |
|
|
int |
list_len, |
|
|
char ** |
err_ptr, |
|
|
int |
warn |
|
) |
| |
◆ err_list_free()
| int err_list_free |
( |
int |
list_num | ) |
|
◆ ev_err()
◆ set_err_flag()
◆ restart