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"));
}