Exception: Encoding::UndefinedConversionError
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
EncodingError
|
Defined in: | transcode.c, transcode.c |
Overview
Raised by ::Encoding
and ::String
methods when a transcoding operation fails.
Class Attribute Summary
::Exception
- Inherited
.to_tty? | Returns |
Class Method Summary
::Exception
- Inherited
.exception | With no argument, or if the argument is the same as the receiver, return the receiver. |
.new | Construct a new |
Instance Method Summary
-
#destination_encoding ⇒ String
Returns the destination encoding as an encoding object.
-
#destination_encoding_name ⇒ String
Returns the destination encoding name as a string.
-
#error_char ⇒ String
Returns the one-character string which cause
UndefinedConversionError
. -
#source_encoding ⇒ Encoding
Returns the source encoding as an encoding object.
-
#source_encoding_name ⇒ String
Returns the source encoding name as a string.
::Exception
- Inherited
#== | Equality—If obj is not an |
#backtrace | Returns any backtrace associated with the exception. |
#backtrace_locations | Returns any backtrace associated with the exception. |
#cause | Returns the previous exception ($!) at the time this exception was raised. |
#exception | With no argument, or if the argument is the same as the receiver, return the receiver. |
#full_message | Returns formatted string of exception. |
#inspect | Return this exception’s class name and message. |
#message | Returns the result of invoking |
#set_backtrace | Sets the backtrace information associated with |
#to_s | Returns exception’s message (or the name of the exception if no message is set). |
Constructor Details
This class inherits a constructor from Exception
Instance Method Details
#destination_encoding ⇒ String
Returns the destination encoding as an encoding object.
# File 'transcode.c', line 4312
static VALUE ecerr_destination_encoding(VALUE self) { return rb_attr_get(self, rb_intern("destination_encoding")); }
#destination_encoding_name ⇒ String
Returns the destination encoding name as a string.
# File 'transcode.c', line 4300
static VALUE ecerr_destination_encoding_name(VALUE self) { return rb_attr_get(self, rb_intern("destination_encoding_name")); }
#error_char ⇒ String
# File 'transcode.c', line 4333
static VALUE ecerr_error_char(VALUE self) { return rb_attr_get(self, rb_intern("error_char")); }
#source_encoding ⇒ Encoding
Returns the source encoding as an encoding object.
Note that the result may not be equal to the source encoding of the encoding converter if the conversion has multiple steps.
ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP") # ISO-8859-1 -> UTF-8 -> EUC-JP
begin
ec.convert("\xa0") # NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
rescue Encoding::UndefinedConversionError
p $!.source_encoding #=> #<Encoding:UTF-8>
p $!.destination_encoding #=> #<Encoding:EUC-JP>
p $!.source_encoding_name #=> "UTF-8"
p $!.destination_encoding_name #=> "EUC-JP"
end
# File 'transcode.c', line 4288
static VALUE ecerr_source_encoding(VALUE self) { return rb_attr_get(self, rb_intern("source_encoding")); }
#source_encoding_name ⇒ String
Returns the source encoding name as a string.
# File 'transcode.c', line 4262
static VALUE ecerr_source_encoding_name(VALUE self) { return rb_attr_get(self, rb_intern("source_encoding_name")); }