Base attributes for Iconv exceptions.
Creates new code converter from a coding-system designated with
from to another one designated with to.
Parameters
to-
encoding name for destination
from-
encoding name for source
options-
options for converter
Exceptions
- TypeError
-
if
toorfromaren't String - InvalidEncoding
-
if designated converter couldn't find out
- SystemCallError
-
if
iconv_open(3)fails
Source: show
static VALUE
iconv_failure_initialize(VALUE error, VALUE mesg, VALUE success, VALUE failed)
{
rb_call_super(1, &mesg);
rb_ivar_set(error, rb_success, success);
rb_ivar_set(error, rb_failed, failed);
return error;
}
Returns substring of the original string passed to Iconv that starts at the character caused the exception.
Source: show
static VALUE
iconv_failure_failed(VALUE self)
{
return rb_attr_get(self, rb_failed);
}
Returns inspected string like as: #<class: success, failed>
Source: show
static VALUE
iconv_failure_inspect(VALUE self)
{
const char *cname = rb_class2name(CLASS_OF(self));
VALUE success = rb_attr_get(self, rb_success);
VALUE failed = rb_attr_get(self, rb_failed);
VALUE str = rb_str_buf_cat2(rb_str_new2("#<"), cname);
str = rb_str_buf_cat(str, ": ", 2);
str = rb_str_buf_append(str, rb_inspect(success));
str = rb_str_buf_cat(str, ", ", 2);
str = rb_str_buf_append(str, rb_inspect(failed));
return rb_str_buf_cat(str, ">", 1);
}
Returns string(s) translated successfully until the exception occurred.
-
In the case of failure occurred within Iconv.iconv, returned value is an array of strings translated successfully preceding failure and the last element is string on the way.
Source: show
static VALUE
iconv_failure_success(VALUE self)
{
return rb_attr_get(self, rb_success);
}