14#ifndef MRBC_SRC_ERROR_H_
15#define MRBC_SRC_ERROR_H_
31#if !defined(MRBC_EXCEPTION_CALL_NEST_LEVEL)
32#define MRBC_EXCEPTION_CALL_NEST_LEVEL 8
37#define mrbc_israised(vm) ((vm)->exception.tt == MRBC_TT_EXCEPTION)
void mrbc_print_exception(const mrbc_value *v)
void mrbc_raise(struct VM *vm, struct RClass *exc_cls, const char *msg)
void mrbc_print_vm_exception(const struct VM *vm)
void mrbc_exception_delete(mrbc_value *value)
mrbc_value mrbc_exception_new_alloc(struct VM *vm, struct RClass *exc_cls, const void *message, int len)
mrbc_value mrbc_exception_new(struct VM *vm, struct RClass *exc_cls, const void *message, int len)
void mrbc_raisef(struct VM *vm, struct RClass *exc_cls, const char *fstr,...)
void mrbc_clear_exception(struct VM *vm)
#define MRBC_EXCEPTION_CALL_NEST_LEVEL
struct RException mrbc_exception
Exception object.
mrbc_sym call_nest[MRBC_EXCEPTION_CALL_NEST_LEVEL]
struct RClass * cls
exception class.
const uint8_t * message
to heap or ROM.
mrbc_sym method_id
raised method, if it is known.
uint16_t message_size
message length.
mruby/c value definitions
int16_t mrbc_sym
mruby/c symbol ID
struct RObject mrbc_value