Carregando...

Lançar um erro você mesmo

Até aqui a parada vinha da própria linha: ou uma divisão por zero, ou um nome que não tinha valor. raise é outro caminho. A parada você escreve no programa, escolhe o nome e deixa uma mensagem curta ao lado.

você escreve a parada, water não corre

python
raise ValueError("empty")
print("water")

O programa para em raise. Na tela aparecem ValueError e a palavra empty. print("water") não chega a correr. Aqui não há divisão. Esta parada foi feita pelo raise, não por uma conta.

zero chávenas entra no if e dispara a parada

python
cups = 0
if cups < 1:
    raise ValueError("empty")
print("water")

Este programa começa de novo. cups vale 0. Zero é menor que um, por isso entra no if e o raise corre. A tela mostra outra vez a mesma parada: ValueError e a palavra empty. water não é escrito. Nesta página ninguém apanha a parada, e o programa acaba ali.

três chávenas deixa o raise de lado e escreve water

python
cups = 3
if cups < 1:
    raise ValueError("empty")
print("water")

Este também começa de novo. Desta vez cups vale 3. Três não é menor que um, por isso não entra no if. O raise não corre. A tela escreve só water, e não há parada.

A linha do raise está mais à direita, debaixo do if. Esse recuo é o que a põe dentro do if. print("water") não tem recuo. Se o raise corre, o programa já parou e water não tem vez. Se o if é saltado, water corre.

O nome ao lado de raise é ValueError, não ZeroDivisionError. ZeroDivisionError era o da divisão por zero. Aqui o número de chávenas não serve, por isso a parada se chama ValueError. Se mais tarde a apanhar, except tem de dizer ValueError. except ZeroDivisionError não apanha esta. Essa captura não está nos programas desta página. O que está entre aspas é a mensagem. empty foi você que pôs, para aparecer junto do nome. Python não coloca None nesse lugar.

A página seguinte são os arquivos. Esta página só mostra como você provoca uma parada. Não abre arquivo nenhum.

As chávenas e a parada que você escreveu

O primeiro programa para em raise, e water não é escrito. Com cups a 0 entra-se no if e chega a mesma parada. Com cups a 3 o raise não corre e a tela escreve water. O nome desta parada é ValueError. A página seguinte são os arquivos.

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
4
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo