Função com exceção em Python

É muito conveniente lançar exceções, especificando-as em funções usando condições.

Vamos criar uma função get_sum, que retornará a soma dos elementos de uma lista apenas se o comprimento da lista for menor ou igual a 3. Caso contrário, que nossa exceção ToBigLength seja lançada:

pythondef get_sum(lst):
  if len(lst) <= 3:
    return sum(lst)
  else:
    raise ToBigLength

Agora vamos passar uma lista para a função get_sum e imprimir o resultado no console:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # exibirá 6

Também é possível especificar a captura de vários tipos de exceções em funções. Vamos criar mais uma classe de exceções ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Agora vamos especificar na função a condição: se o comprimento da lista for zero, que ToSmallLength seja lançada. Se nenhuma exceção for capturada, que a soma de todos os elementos da lista seja retornada:

pythondef get_sum(lst):
  if len(lst) > 3:
    raise ToBigLength
  if len(lst) == 0:
    raise ToSmallLength
  else:
    return sum(lst)

Por conveniência, podemos colocar a lista que será passada como parâmetro para a função, a própria função e sua chamada em um bloco try. E a captura das nossas duas exceções será colocada nos blocos except:

pythontry:
  lst = [1, 2, 3]
  res = get_sum(lst)
  print(res)
except ToBigLength:
  print('error 1')
except ToSmallLength:
  print('error 2')
Задание 1

Crie uma função que receba um número como parâmetro. Ela deve conter condições: se o número for negativo ou igual a zero, que as exceções correspondentes sejam lançadas. Caso contrário, o número deve ser multiplicado por 3.

Задание 2

Teste a função que você criou usando a construção try-except. Ao fazer isso, também capture suas exceções.