Exemple #1
0
void
pic_error(pic_state *pic, const char *msg, pic_value irrs)
{
  struct pic_error *e;

  e = pic_make_error(pic, pic_intern(pic, ""), msg, irrs);

  pic_raise(pic, pic_obj_value(e));
}
Exemple #2
0
void
pic_throw(pic_state *pic, pic_sym *type, const char *msg, pic_value irrs)
{
  struct pic_error *e;

  e = pic_make_error(pic, type, msg, irrs);

  pic_raise(pic, pic_obj_value(e));
}
Exemple #3
0
PIC_NORETURN static void
file_error(pic_state *pic, const char *msg)
{
  struct pic_error *e;

  e = pic_make_error(pic, pic_intern(pic, "file"), msg, pic_nil_value());

  pic_raise(pic, pic_obj_value(e));
}
Exemple #4
0
static pic_value
pic_error_error(pic_state *pic)
{
  const char *str;
  int argc;
  pic_value *argv;

  pic_get_args(pic, "z*", &str, &argc, &argv);

  pic_raise(pic, pic_make_error(pic, "", str, pic_make_list(pic, argc, argv)));
}
Exemple #5
0
void
pic_error(pic_state *pic, const char *msg, int n, ...)
{
  va_list ap;
  pic_value irrs;

  va_start(ap, n);
  irrs = pic_vlist(pic, n, ap);
  va_end(ap);

  pic_raise(pic, pic_make_error(pic, "", msg, irrs));
}
Exemple #6
0
static pic_value
pic_error_make_error_object(pic_state *pic)
{
  struct pic_error *e;
  pic_sym *type;
  pic_str *msg;
  size_t argc;
  pic_value *argv;

  pic_get_args(pic, "ms*", &type, &msg, &argc, &argv);

  e = pic_make_error(pic, type, pic_str_cstr(msg), pic_list_by_array(pic, argc, argv));

  return pic_obj_value(e);
}