System.Text.EncoderExceptionFallback Class

Throws a System.Text.EncoderFallbackException if an input character cannot be converted to an encoded output byte sequence. This class cannot be inherited.

See Also: EncoderExceptionFallback Members


public sealed class EncoderExceptionFallback : EncoderFallback


An encoding maps a Unicode character to an encoded sequence of bytes, which can subsequently be transferred to a physical medium, such as a disk, or over a communications link. Characters can be mapped in various ways, and a particular encoding is represented by a type derived from the System.Text.Encoding class. Specifically, the encoding type's GetBytes method encodes a character to a byte sequence, and the GetChars method decodes a byte sequence to a character.

An encoding operation can fail if the input character cannot be represented by the encoding. For example, a System.Text.ASCIIEncoding object cannot encode a character that yields a Unicode code point value that is outside the range U+0000 to U+007F.

In cases where an encoding or decoding conversion cannot be performed, the .NET Framework provides a failure-handling mechanism called a fallback. Your application can use the predefined .NET Framework encoder fallback, or it can create a custom encoder fallback derived from the System.Text.EncoderFallback and System.Text.EncoderFallbackBuffer classes.

The .NET Framework provides two predefined classes that implement different fallback strategies for handling encoding conversion failures. The System.Text.EncoderReplacementFallback class substitutes a string provided for any input character that cannot be converted. The substitute string is encoded in place of the invalid character, and then the encoding operation continues converting the remainder of the input. In contrast, the System.Text.EncoderExceptionFallback class throws a System.Text.EncoderFallbackException when an invalid character is encountered.


Namespace: System.Text
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions:,
Since: .NET 2.0