Como criar e usar exceções personalizadas em python

Python oferece uma riqueza de exceções padrão que você deve usar sempre que possível. Essas exceções são extremamente flexíveis, e você ainda pode modificá-los conforme necessário (dentro da razão) para atender necessidades específicas.

No entanto, às vezes você simplesmente deve criar uma exceção personalizada porque nenhuma das exceções padrão vai funcionar. Talvez o nome da exceção apenas não dizem ao espectador a propósito que a exceção serve. Você pode precisar de uma exceção personalizada para o trabalho de banco de dados especializado ou quando se trabalha com um serviço.

Este exemplo mostra um método rápido para criar suas próprias exceções. Para executar esta tarefa, você deve criar uma classe que usa uma exceção existente como um ponto de partida. Para tornar as coisas um pouco mais fácil, este exemplo cria uma exceção que tem por base a funcionalidade fornecida pela ValueError exceção.

A vantagem de usar essa abordagem é que esta abordagem diz qualquer um que te segue precisamente o que a adição ao ValueError exceção é-, adicionalmente, faz exceção modificado mais fácil de usar.

  1. Abra uma janela do Python Arquivo.

    Video: Aulas Python - 067 - Exceções I: Introdução

    Você vê um editor no qual você pode digitar o código de exemplo.

  2. Digite o seguinte código para a janela - pressione ENTER após cada linha:

    Video: Aulas Python - 072 - Exceções VI: Customizando o Objeto Excessão



    classe CustomValueError (ValueError): def __init __ (self, arg): self.strerror = argself.args = {arg} tentar: levantar CustomValueError ("O valor deve estar dentro de 1 e 10."), Exceto CustomValueError como e: print ("CustomValueError exceção!", E.strerror)

    Este exemplo coloca o mesmo erro em ambos strerror e args de modo que o desenvolvedor tem acesso a qualquer (como aconteceria normalmente).

    O código começa com a criação do CustomValueError classe que usa o ValueError classe excepção, tal como um ponto de partida. o __nisso__() função fornece os meios para criação de uma nova instância desta classe. Pense da classe como um modelo ea instância como o edifício criado a partir do projeto.

    Observe que o strerror atributo tem o valor atribuído diretamente a ele, mas args recebe-la como uma matriz. o args membro normalmente contém uma matriz de todos os valores de excepção, de modo que este é um procedimento padrão, mesmo quando args contém apenas um valor como faz agora.

    O código para usar a exceção é consideravelmente mais fácil do que modificar ValueError diretamente. Tudo que você faz é chamada levantar com o nome da exceção e os argumentos que você deseja passar, tudo na mesma linha.

  3. Escolha Executar → Run Module.

    Você verá uma janela aberta Python Shell. A aplicação mostra a sequência de letras, juntamente com o número de carta.

    Video: Aulas Python - 066 - Módulos, sys.path, pacotes, __name__


Publicações relacionadas