Changeset 439 for EcnlProtoTool/trunk/mruby-2.1.1/include/mruby/error.h
- Timestamp:
- Jul 9, 2020, 8:51:43 AM (4 years ago)
- Location:
- EcnlProtoTool/trunk/mruby-2.1.1
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mruby-2.1.1/include/mruby/error.h
r331 r439 1 /* 2 ** mruby/error.h - Exception class1 /** 2 ** @file mruby/error.h - Exception class 3 3 ** 4 4 ** See Copyright Notice in mruby.h … … 25 25 MRB_API mrb_value mrb_exc_new_str(mrb_state *mrb, struct RClass* c, mrb_value str); 26 26 #define mrb_exc_new_str_lit(mrb, c, lit) mrb_exc_new_str(mrb, c, mrb_str_new_lit(mrb, lit)) 27 MRB_API mrb_value mrb_make_exception(mrb_state *mrb, int argc, const mrb_value *argv);27 MRB_API mrb_value mrb_make_exception(mrb_state *mrb, mrb_int argc, const mrb_value *argv); 28 28 MRB_API mrb_value mrb_exc_backtrace(mrb_state *mrb, mrb_value exc); 29 29 MRB_API mrb_value mrb_get_backtrace(mrb_state *mrb); 30 30 MRB_API mrb_noreturn void mrb_no_method_error(mrb_state *mrb, mrb_sym id, mrb_value args, const char *fmt, ...); 31 31 32 /* declaration for failmethod */32 /* declaration for `fail` method */ 33 33 MRB_API mrb_value mrb_f_raise(mrb_state*, mrb_value); 34 34 35 #if defined(MRB_64BIT) || defined(MRB_USE_FLOAT) || defined(MRB_NAN_BOXING) || defined(MRB_WORD_BOXING) 35 36 struct RBreak { 36 37 MRB_OBJECT_HEADER; 37 struct iv_tbl *iv;38 38 struct RProc *proc; 39 39 mrb_value val; 40 40 }; 41 #define mrb_break_value_get(brk) ((brk)->val) 42 #define mrb_break_value_set(brk, v) ((brk)->val = v) 43 #else 44 struct RBreak { 45 MRB_OBJECT_HEADER; 46 struct RProc *proc; 47 union mrb_value_union value; 48 }; 49 #define RBREAK_VALUE_TT_MASK ((1 << 8) - 1) 50 static inline mrb_value 51 mrb_break_value_get(struct RBreak *brk) 52 { 53 mrb_value val; 54 val.value = brk->value; 55 val.tt = (enum mrb_vtype)(brk->flags & RBREAK_VALUE_TT_MASK); 56 return val; 57 } 58 static inline void 59 mrb_break_value_set(struct RBreak *brk, mrb_value val) 60 { 61 brk->value = val.value; 62 brk->flags &= ~RBREAK_VALUE_TT_MASK; 63 brk->flags |= val.tt; 64 } 65 #endif /* MRB_64BIT || MRB_USE_FLOAT || MRB_NAN_BOXING || MRB_WORD_BOXING */ 66 #define mrb_break_proc_get(brk) ((brk)->proc) 67 #define mrb_break_proc_set(brk, p) ((brk)->proc = p) 41 68 42 69 /** 43 70 * Protect 44 71 * 45 * @mrbgem mruby-error72 * Implemented in the mruby-error mrbgem 46 73 */ 47 74 MRB_API mrb_value mrb_protect(mrb_state *mrb, mrb_func_t body, mrb_value data, mrb_bool *state); … … 50 77 * Ensure 51 78 * 52 * @mrbgem mruby-error79 * Implemented in the mruby-error mrbgem 53 80 */ 54 81 MRB_API mrb_value mrb_ensure(mrb_state *mrb, mrb_func_t body, mrb_value b_data, … … 58 85 * Rescue 59 86 * 60 * @mrbgem mruby-error87 * Implemented in the mruby-error mrbgem 61 88 */ 62 89 MRB_API mrb_value mrb_rescue(mrb_state *mrb, mrb_func_t body, mrb_value b_data, … … 66 93 * Rescue exception 67 94 * 68 * @mrbgem mruby-error95 * Implemented in the mruby-error mrbgem 69 96 */ 70 97 MRB_API mrb_value mrb_rescue_exceptions(mrb_state *mrb, mrb_func_t body, mrb_value b_data,
Note:
See TracChangeset
for help on using the changeset viewer.