Como levantar exceções em python

Situações, por vezes, surgem para o qual você pode não saber como lidar com um evento de erro em Python durante o processo de design do aplicativo. Talvez você não pode sequer lidar com o erro em um nível particular e precisa passar-lo para algum outro nível de manusear. Em suma, em algumas situações, a sua aplicação deve gerar uma exceção. Este ato é chamado elevação

(Ou às vezes arremesso) a exceção.

Levantando exceções durante condições excepcionais

Este exemplo demonstra como você levantar uma exceção simples - que não exige nada de especial. Os seguintes passos basta criar a exceção e, em seguida, lidar com isso imediatamente.

  1. Abra uma janela do Python Arquivo.

    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:

    tente: levantar ValueErrorexcept ValueError: print ("ValueError exceção!")

    Você não iria nunca realmente criar código que se parece com isso, mas mostra-lhe como levantar uma exceção funciona em seu nível mais básico. Neste caso, o levantar chamada aparece dentro de um tente ... exceto quadra. A chamada básica raise simplesmente fornece o nome da exceção para aumentar (ou jogar). Você também pode fornecer argumentos como parte da saída para fornecer informações adicionais.

    Note-se que esta tente ... exceto carece de um bloco outro cláusula porque não há nada para fazer depois da chamada. Embora você raramente usa um tente ... exceto bloquear dessa maneira, você pode. Você pode encontrar situações como esta, por vezes, e preciso lembrar que a adição do outro cláusula é puramente opcional. Por outro lado, você deve adicionar pelo menos um exceto cláusula.

  3. Escolha Executar → Run Module.

    Você verá uma janela aberta Python Shell. O aplicativo exibe o texto exceção esperada.



Passando informações de erro para o chamador

Python fornece erro excepcionalmente flexível manuseio em que você pode passar informações para o visitante (O código que está chamando o seu código), não importa qual exceção que você usa. Claro, o chamador não pode saber que a informação está disponível, o que leva a um monte de discussão sobre o tema.

Você pode ter se perguntou se você poderia fornecer melhor informação ao trabalhar com um ValueError excepção do que com uma excepção fornecida nativamente por Python. Os passos seguintes mostram que você pode modificar a saída para que ele inclui informações úteis.

  1. Abra uma janela do Python Arquivo.

    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:

    tente: Ex = ValueError () Ex.strerror = "O valor deve estar dentro de 1 e 10."levantar Exexcept ValueError como e: print ("ValueError exceção!", E.strerror)

    o ValueError exceção normalmente não fornece um atributo chamado strerror (Um nome comum para o erro string), mas você pode adicioná-lo simplesmente através da atribuição de um valor a ela, como mostrado. Quando o exemplo levanta a exceção, o exceto cláusula de manipula-lo como de costume, mas obtém acesso aos atributos usando e. Você pode, então, acessar o e.strerror membro para obter a informação adicionada.

    Video: aula 5877 python tratamento de excecoes try exception

  3. Escolha Executar → Run Module.

    Você verá uma janela aberta Python Shell. O aplicativo exibe uma expandidas ValueError exceção.


Publicações relacionadas