Tratamento de Exceções em Python

Em Python, comparado a outras linguagens de programação, há muitas situações que geram exceções.

Vamos examiná-las mais detalhadamente. Suponha que tenhamos uma lista:

pythonlst = [1, 2, 3]

Vamos acessar um elemento da lista que não existe:

pythonprint(lts[4])

Após a execução do código, um erro (exceção) será exibido:

errorIndexError: list index out of range

Se, no entanto, precisarmos continuar a execução sem exibir a exceção, devemos capturá-la com a estrutura try-except. Ela tem a seguinte sintaxe:

pythontry:
  # código que pode gerar uma exceção
except:
  # tratamento do erro

No bloco try deve-se colocar o código que pode conter uma exceção. Se durante a execução desse código ocorrer uma situação excepcional, a execução do código não será interrompida, mas passará para o código do bloco except. Neste bloco, deve-se escrever a exibição de uma mensagem que descreva da forma mais precisa possível a essência do erro ocorrido.

Se, durante a execução do bloco try, nenhuma situação excepcional ocorrer, então o código útil simplesmente será executado, e o código do bloco except - não.

Vamos capturar nossa exceção ao acessar um elemento da lista que não existe. Para isso, colocaremos no bloco try o código com o potencial erro. E no bloco except indicaremos a exibição no console da mensagem 'error: elem is not exist':

pythonlst = [1, 2, 3]
try:
  print(lst[4])
except:
  print('error: elem is not exist')

Após a execução do código, será exibido:

python'error: elem is not exist'

Após estudar a estrutura try-except, o estilo do código que você escreve deve mudar. Agora, todos os locais onde pode ocorrer uma situação excepcional precisam ser envolvidos em try, e no bloco except especificar a reação a essa exceção.

Задание 1

Pergunte ao usuário dois números. Divida um pelo outro. Capture a situação excepcional de divisão por zero.

Задание 2

Pergunte ao usuário um número. Encontre a raiz quadrada desse número. Capture a situação excepcional de extrair a raiz de um número negativo.

Задание 3

Dada uma lista. Pergunte ao usuário um número inteiro. Obtenha o elemento da lista cujo índice foi inserido pelo usuário. Capture a situação excepcional que ocorrerá se o usuário inserir um número fora do intervalo da lista.

Задание 4

Dado o seguinte código:

pythonnum = '5'
res = num + 2

print(res)

O que há de errado com este código? Corrija seus defeitos.

Задание 5

Dado o seguinte código:

pythonlst = [1, 2, 3, 4]

def getElem(iter):
  print(iter[4])

getElem(lst)

O que há de errado com este código? Corrija seus defeitos.