⊗pyPmExcFu 82 of 129 menu

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:

def 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:

lst = [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:

class 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:

def 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:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

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.

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

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar