Compartilhar via


Exceções de solução de problemas: System.FormatException

Um FormatException exceção é lançada por um método que analisa ou formata um tipo quando o formato de um argumento não atende às especificações de parâmetro do método.

Causando exceções de formato

Formatação

Formatação é o processo de converter uma instância de um valor de enumeração, estrutura ou classe em sua representação de cadeia de caracteres, com freqüência, para que a cadeia de caracteres resultante pode ser exibida para os usuários ou ser usada para salvar o estado do objeto.

Por exemplo, Int32.ToString(String) usa um parâmetro de cadeia de caracteres que identifica uma cadeia de caracteres de formato padrão ou personalizado e retorna a representação de cadeia de caracteres do número. O método gera uma FormatException. Se a cadeia de caracteres de formato for inválida ou não suportada, um é acionado.

Formatação composta

A formatação composta usa uma lista de objetos e uma cadeia de caracteres de formato composto como entrada. Uma cadeia de caracteres de formato composto consiste em um texto fixo misturado com espaços reservados indexados, chamados de itens de formato, que correspondem aos objetos na lista. A operação de formatação produz uma cadeia de caracteres de resultado que consiste no texto fixo original misturado com as representação da cadeia de caracteres dos objetos na lista.

String.Format e Console.WriteLine são exemplos de métodos que realizam formatação composta. Métodos que usam formatação composta geram uma FormatException se a cadeia de caracteres de formato for inválida ou se o índice de um item de formato for menor que zero, ou maior ou igual ao número de argumentos.

Análise

Análise é o processo de conversão de uma cadeia de caracteres que representa um tipo de base do .NET Framework naquele tipo de base. Por exemplo, uma operação de análise é usada para converter uma cadeia de caracteres em um número de ponto flutuante ou em um valor de data e hora.

Por exemplo, Int32.Parse(String) Parse converte a representação de cadeia de caracteres de data e hora em seu equivalente DateTime usando informações específicas de cultura formato especificadas no parâmetro. IformatProvider. Se a cadeia de caracteres não estiver no formato correto, FormatException será acionada.

Evitando FormatExceptions

O artigo de referência de classe da FormatException inclui as causas comuns e as soluções de erros de FormatException.

As seções da biblioteca MSDN Formatando tipos no .NET Framework e Analisando cadeias de caracteres no .NET Framework contêm informações sobre formatação corretamente e tipos de análise.

Formatação composta

Formatação composta

Tipos numéricos

Cadeias de caracteres de formato numérico padrão

Cadeias de caracteres de formato numérico personalizado

Analisando cadeias de caracteres numéricas no .NET Framework

Tipos de data e hora e timespan

Cadeias de caracteres de formato de data e hora padrão

Cadeias de caracteres de formato de data e hora personalizado

Cadeias de caracteres de formato TimeSpan padrão

Cadeias de caracteres de formato TimeSpan personalizado

Analisando cadeias de caracteres de data e hora no .NET Framework

Outros tipos

Cadeias de caracteres de formato de enumeração

Analisando outras cadeias de caracteres no .NET Framework