De um modo geral excepções e asserções são formas de controlar possíveis erros ou verificar condições num programa.
As excepções são instruções de controlo, enquanto as asserções são instruções simples. As excepções permitem que o programa continue a ser executado, mesmo na presença de um erro, pois prevê acções de remediarão. No caso das asserções isso não acontece, pois o programa termina no caso da asserção não se verificar. Assim estas últimas são sobretudo usadas para depurar os programas.
As excepções são activadas (raise) quando durante a execução se verifica um erro. Os erros podem ser de diversos tipos, podendo as excepções ser genéricas ou dirigidas a um ou mais tipos de erro. Um exemplo simples e clássico é prevenir erros nas operações:
def divisao_protegida(x,y): try: res = x/y return res except ZeroDivisionError: print(‘ERRO: divisão por zero’)No caso das asserções elas permitem verificar condições para que um programa possa correr. Um exemplo, também clássico, permite evitar um ciclo infinito:
def factorial(x): assert (x >=0), ‘ERRO: número negativo’ res = 1 while x: res *= x x -= 1 return res
Sem comentários:
Enviar um comentário