lançamento de C#

Resumo : neste tutorial, você aprenderá como usar a throwpalavra-chave C# para gerar uma exceção em seu aplicativo.

Introdução à palavra-chave throw C#

A throwpalavra-chave permite gerar uma exceção. Aqui está a sintaxe de como usar a throwpalavra-chave:

throw exception;Linguagem de código:  C#  ( cs )

Nesta sintaxe, the exceptioné um objeto que representa a exceção que você deseja gerar. Você pode usar qualquer classe de exceção interna derivada da System.Exceptionclasse. Além disso, você pode gerar uma exceção personalizada , que será abordada no próximo tutorial.

Normalmente, você usa a throwpalavra-chave com uma ifinstrução para lançar uma exceção quando uma determinada condição for atendida:

if (condition)
{
    throw exception;
}Linguagem de código:  C#  ( cs )

Usando a palavra-chave throw C# para gerar um exemplo de exceção

O programa a seguir demonstra como usar a throwpalavra-chave para lançar uma ArgumentOutOfRangeExceptionexceção:

using static System.Console;

public class Circle
{
    public double Radius
    {
        get; set;
    }
    public Circle(double radius)
    {
        if (radius <= 0)
        {
            throw new ArgumentOutOfRangeException(
                 nameof(radius),
                "The radius should be positive"
             );
        }
        Radius = radius;
    }
    public double GetArea() => Math.PI * Radius * Radius;

}

class Program
{
    public static void Main(string[] args)
    {
        WriteLine("Enter a radius:");
        var input = ReadLine();
        if (input != null)
        {
            var radius = double.Parse(input);
            try
            {
                var circle = new Circle(radius);
                WriteLine($"The area is {circle.GetArea():F2}");
            }
            catch (ArgumentOutOfRangeException ex)
            {
                WriteLine(ex.Message);
            }

        }
    }
}Linguagem de código:  C#  ( cs )

Como funciona.

Primeiro, defina uma classe chamada Circleque represente um círculo com um determinado raio.

Na Circleclasse, definimos um construtor que assume um doublevalor que representa o raio do círculo. Se o valor do raio for menor ou igual a zero, lançamos um ArgumentOutOfRangeExceptioncom uma mensagem de erro personalizada usando a throwpalavra-chave.

Na Circleaula também definimos um método GetArea()que retorna a área do círculo usando a fórmula πr².

Segundo, peça ao usuário para inserir um raio no Mainmétodo do programa.

O Main()método:

  • Lê a entrada do console
  • Analisa-o para umdouble
  • Cria uma instância da Circleclasse com o valor do raio inserido
  • Chama o GetArea()método para calcular a área do círculo.

Se o raio inserido não for positivo, o Mainmétodo captura a ArgumentOutOfRangeExceptionexceção levantada pelo construtor e exibe a mensagem de erro no console.

A expressão de lançamento

A partir do C# 7.0, você pode usar a throwpalavra-chave como uma expressão. Isso permite lançar uma exceção in-line, sem precisar definir uma variável separada. A sintaxe da throwexpressão é a seguinte:

throw expression;Linguagem de código:  JavaScript  ( javascript )

Nesta sintaxe, o expressioné avaliado como um objeto derivado da System.Exceptionclasse. Por exemplo, você pode alterar o Circleconstrutor do exemplo anterior para o seguinte:

public Circle(double radius)
{
    Radius = radius > 0
                ? radius
                : throw new ArgumentOutOfRangeException(
                    nameof(radius),
                    "The radius should be positive"
                  );
}Linguagem de código:  C#  ( cs )

Neste exemplo, se radiusfor maior que zero, atribuímos-o à Radiuspropriedade. Caso contrário, lançamos a ArgumentOutOfRangeExceptionexceção. Isso tem o mesmo efeito do exemplo anterior, mas é mais conciso.

Resumo

  • Use a throwpalavra-chave C# para gerar uma exceção explicitamente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *