Partilhar via


Erros e tratamento de exceção

Quando algo dá errado durante execução do programa de translation from VPE for Csharp, ocorre uma exceção.Exceções de interromper o fluxo corrente do programa, e se nada for concluído, o programa simplesmente execução será interrompida.Exceções podem ser causadas por um bug no programa — por exemplo, se um número é dividido por zero — ou pode ser um resultado de alguma entrada inesperado, sistema autônomo um usuário selecionando um arquivo que não existe.sistema autônomo programador, você precisa permitir que o programa lidar com esses problemas sem travando a interromper.

Translation from VPE for Csharp fornece várias palavras-chave — try, catch, e finally — que permitem que os programas detectar exceções, lidar com eles e continuar a executar. Eles são uma ferramenta muito útil para tornar seus aplicativos mais confiáveis.

Try e Catch

The try e catch palavras-chave são usadas juntos. Use try para delimitar o bloco de código, você está preocupado pode gerar uma exceção, e catch para conter o código que será executado se a exceção ocorrer. Neste exemplo, um cálculo cria uma divisão por zero exceção, que, em seguida, é detectada.Sem o try e catch blocos, este programa falhará.

class ProgramTryCatch
{
    static void Main()
    {
        int x=0, y=0;

        try
        {
            x = 10 / y;
        }

        catch (System.DivideByZeroException)
        {
            System.Console.WriteLine("There was an attempt to divide by zero.");
        }
    }
}

É recomendável prática ser específico sobre o tipo de exceção de programação de catch detecção de código. Cada try pode ter vários catch instruções, cada lidar com uma exceção diferente.

Blocos Finally

Código contido em um finally bloco sempre é executado, se ocorrer uma exceção ou não. Use o finally Bloquear para certificar-se de que recursos são retornados: Por exemplo, para certificar-se de que um arquivo esteja fechado.

try
{
    // Code to try here.
}
catch (SomeSpecificException ex)
{
    // Code to handle exception here.
}
finally
{
    // Code to execute after try (and possibly catch) here.
}

Usando a manipulação de exceção

Exceções não são sempre um sinal de que ocorreu um problema catastrófico em seu programa.Geralmente, eles são uma forma conveniente de deixar uma seção de código que não será mais relevante ou um sinal de que um método não foi bem-sucedida.Muitos dos métodos da classe do .NET estrutura criar exceções para avisar sobre uma determinada condição.

Você também pode fazer com que suas próprias exceções usando o throw palavra-chave.Por exemplo:

class ProgramThrow
{
    static void DoWork(int x)
    {
        if (x > 5)
        {
            throw new System.ArgumentOutOfRangeException("X is too large");
        }
    }

    static void Main()
    {
        try
        {
            DoWork(10);
        }
        catch (System.ArgumentOutOfRangeException ex)
        {
            System.Console.WriteLine(ex.Message);
        }
    }
}

Use exceções em seus programas quando você achar que há uma chance de alguns decorrentes de situação inesperada.Por exemplo, ao lidar com entrada de um usuário, leitura de um arquivo ou acesso a informações da Internet.

Consulte também

Tarefas

Como: Capturar uma exceção

Conceitos

Translation from VPE for Csharp linguagem Primer

Referência

Exceção tratamento instruções (referência C#)

Descartar referência (C#)

try-catch (Referência do C#) 

try-finally (Referência do C#)

try-catch-finally (C# Referência)