Como lidar com uma única exceção em python
Video: Aulas Python - 068 - Exceções II: Raise e Excessões Próprias
Conteúdo
- Video: aulas python - 068 - exceções ii: raise e excessões próprias
- 1abra uma janela do python arquivo
- 2digite o seguinte código para a janela - pressione enter após cada linha:
- 3escolha executar → run module
- 4digite olá e pressione enter
- 5execute as etapas 3 e 4 novamente, mas digite 5.5 em vez de olá
- 6execute as etapas 3 e 4 novamente, mas digite 22 em vez de olá
- 7execute as etapas 3 e 4 novamente, mas digite 7 em vez de olá
- Video: python tutorial: using try/except blocks for error handling
- 8execute as etapas 3 e 4 novamente, mas pressione ctrl + c, cmd + c, ou a alternativa para yourplatform em vez de digitar nada
- Video: python 3 programming tutorial - try and except error handling
Algumas coisas que você desenvolver em Python tem um terrível hábito de cuspir exceções quando os valores das entradas do usuário inesperados. Parte da solução é fornecer verificação de intervalo. No entanto, verificação de intervalo não supera o problema de um texto usuário digitando, como Olá no lugar de um valor numérico esperado. manuseamento de excepção fornece uma solução mais complexa para o problema, tal como descrito nas etapas seguintes.
1Abra uma janela do Python Arquivo
Você vê um editor no qual você pode digitar o código de exemplo.
2Digite o seguinte código para a janela - pressione ENTER após cada linha:
tente: Valor = int (entrada ("Digitar um número entre 1 e 10: ")), Exceto ValueError: print ("Você deve digitar um número entre 1 e 10!") Else: if (Valor gt; 0) e (Valor lt; = 10): impressão ("Você digitou: ", Valor) else: print ("O valor digitado é incorreto!")
O código dentro do experimentar bloco tem suas exceções manipulados. Neste caso, a manipulação da exceção significa obter a entrada do usuário usando o int (entrada ()) chama. Se ocorrer uma exceção fora deste bloco, o código não lidar com isso.
Com confiabilidade em mente, a tentação pode ser para incluir todo o código executável em um experimentar bloco para que cada exceção seria tratado. No entanto, você quer ter a lidar com a sua exceção pequeno e específico para fazer localizar o problema mais fácil.
o exceto bloco procura uma exceção específica, neste caso: ValueError. Quando o usuário cria uma ValueError exceção digitando Olá, em vez de um valor numérico, este bloco de exceção particular é executado. Se o usuário fosse para gerar alguma outra exceção, este exceto bloco não iria lidar com isso.
o outro bloco contém todo o código que é executado quando o experimentar código de bloco é bem sucedida (não gera uma exceção). O restante do código é neste bloco, porque você não quer executá-lo a menos que o usuário não fornecer entrada válida. Quando o usuário fornece um número inteiro como entrada, o código pode então gama verificá-lo para garantir que ele está correto.
3Escolha Executar → Run Module
Você verá uma janela aberta Python Shell. O aplicativo pede para você digitar um número entre 1 e 10.
4Digite Olá e pressione Enter
O aplicativo exibe uma mensagem de erro.
5Execute as Etapas 3 e 4 novamente, mas digite 5.5 em vez de Olá
O aplicativo gera a mesma mensagem de erro.
6Execute as Etapas 3 e 4 novamente, mas digite 22 em vez de Olá
O aplicativo envia a mensagem de erro intervalo esperado. tratamento de exceção não eliminar erros alcance. Você ainda deve verificá-los separadamente.
7Execute as Etapas 3 e 4 novamente, mas digite 7 em vez de Olá
Desta vez, o aplicativo finalmente relata que você forneceu um valor correto de 7. Mesmo que ele parece ser um monte de trabalho para realizar esse nível de verificação, você não pode realmente ter certeza de que a sua aplicação está a funcionar correctamente sem ele.
Video: Python Tutorial: Using Try/Except Blocks for Error Handling
8Execute as Etapas 3 e 4 novamente, mas pressione Ctrl + C, Cmd + C, ou a alternativa para yourplatform em vez de digitar nada
A aplicação gera um KeyboardInterrupt exceção. Porque essa exceção não é tratada, ainda é um problema para o usuário.