diff options
| author | take_cheeze <[email protected]> | 2014-07-21 23:09:13 +0900 |
|---|---|---|
| committer | take_cheeze <[email protected]> | 2014-07-21 23:09:13 +0900 |
| commit | 3c9660257464bb78a5b094e3f7fb1621bb9577ba (patch) | |
| tree | 8ff322acab800bee8a5ee312a6c63112db34cbdf /include | |
| parent | 4cc9e5d8b17acbebadad1508300f092db775f361 (diff) | |
| download | mruby-3c9660257464bb78a5b094e3f7fb1621bb9577ba.tar.gz mruby-3c9660257464bb78a5b094e3f7fb1621bb9577ba.zip | |
Use MRB_TT_EXCEPTION in exception object.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/error.h | 7 | ||||
| -rw-r--r-- | include/mruby/value.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/mruby/error.h b/include/mruby/error.h index 4d37f1701..210ae3449 100644 --- a/include/mruby/error.h +++ b/include/mruby/error.h @@ -11,6 +11,13 @@ extern "C" { #endif +struct RException { + MRB_OBJECT_HEADER; + struct iv_tbl *iv; +}; + +#define mrb_exc_ptr(v) ((struct RException*)mrb_ptr(v)) + void mrb_sys_fail(mrb_state *mrb, const char *mesg); mrb_value mrb_exc_new_str(mrb_state *mrb, struct RClass* c, mrb_value str); #define mrb_exc_new_str_lit(mrb, c, lit) mrb_exc_new_str(mrb, c, mrb_str_new_lit(mrb, lit)) diff --git a/include/mruby/value.h b/include/mruby/value.h index f16fa20a6..20b6008c4 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -122,6 +122,7 @@ enum mrb_vtype { #define mrb_string_p(o) (mrb_type(o) == MRB_TT_STRING) #define mrb_hash_p(o) (mrb_type(o) == MRB_TT_HASH) #define mrb_cptr_p(o) (mrb_type(o) == MRB_TT_CPTR) +#define mrb_exception_p(o) (mrb_type(o) == MRB_TT_EXCEPTION) #define mrb_test(o) mrb_bool(o) mrb_bool mrb_regexp_p(struct mrb_state*, mrb_value); |
