Función con excepción en Python

Es muy conveniente lanzar excepciones, especificándolas en la función mediante condiciones.

Hagamos una función get_sum, que devolverá la suma de los elementos de una lista solo si la longitud de la lista es menor o igual a 3. En caso contrario, que se lance nuestra excepción ToBigLength:

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

Ahora pasemos a la función get_sum una lista y mostremos la función en la consola:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # mostrará 6

También en las funciones se puede especificar la captura de varios tipos de excepciones. Creemos otra clase de excepciones ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Ahora especifiquemos en la función la condición: si la longitud de la lista es igual a cero, que se lance ToSmallLength. Si no se captura ninguna excepción, que se muestre la suma de todos los elementos de la lista:

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

Para mayor comodidad, se puede encerrar la lista que se pasará como parámetro a la función, la función misma y su llamada en un bloque try. Y la captura de nuestras dos excepciones la colocaremos en los bloques except:

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

Cree una función que tome un número como parámetro. En ella, especifique condiciones: si el número es negativo o igual a cero, que se lancen las excepciones correspondientes. En caso contrario, que el número sea multiplicado por 3.

Задание 2

Compruebe el funcionamiento de la función que creó utilizando la construcción try-except. Al hacerlo, capture también sus excepciones.