Exceções
>>> 1/0
Traceback (most recent call last):
File "<pyshell#0>", line 1 in -toplevel-
1/0
ZeroDivisionError: integer division or modulo by zero
>>> import regex
Warning (from warnings module):
File "__main__", line 1
DeprecationWarning: the regex module is deprecated; please use the re module.
>>> import exceptions
>>> dir(exceptions)
['ArithmeticError', 'AssertionError', ...]
>>> raise Exception
Traceback (most recent call last):
File "<pyshell#3>", line 1, in -toplevel-
raise Exception
Exception
>>> raise Exception, "Deu bode"
Traceback (most recent call last):
File "<pyshell#5>", line 1, in -toplevel-
rise Exception, "Deu bode"
Exception: Deu bode
>>> raise Exception("Deu Bode")
Traceback (most recent call last):
File "<pyshell#7>", line 1, in -toplevel-
raise Exception("Deu Bode")
Exception: Deu Bode
>>> class MinhaExcecao(Exception): pass
>>> raise MinhaExcecao("Deu bode!")
Traceback (most recent call last):
File "<pyshell#11>", line 1, in -toplevel-
raise MinhaExcecao("Deu bode!")
MinhaExcecao: Deu bode!
try:
código
except Exceções:
código de tratamento da exceção
Sendo que Exceções pode ser:
Onde Classe, Classe1 e ClasseN são nomes de classes de exceção e var é uma variável atribuída a um objeto exceção
try:
a = input("Entre com um numero ")
b = input("Entre com outro numero ")
print(a,"/",b,"=",a/b)
except ZeroDivisionError:
print("Ooops, o divisor não pode ser zero!")
try:
a = input("Entre com um numero ")
b = input("Entre com outro numero ")
print(a,"/",b,"=",a/b)
except (ZeroDivisionError,TypeError):
print("Ooops, tente novamente!")
try:
a = input("Entre com um numero ")
b = input("Entre com outro numero ")
print(a,"/",b,"=",a/b)
except (ZeroDivisionError,TypeError),e:
print("Ooops, deu erro:",e)
try:
a = input("Entre com um numero ")
b = input("Entre com outro numero ")
print(a,"/",b,"=",a/b)
except ZeroDivisionError:
print("Ooops, o divisor não pode ser zero!")
except TypeError:
print("Ooops, você não digitou um número")
except:
print("Deu um bode qualquer"
try:
a = input("Entre com um numero ")
b = input("Entre com outro numero ")
print(a,"/",b,"=",a/b)
except (ZeroDivisionError,TypeError),e:
print("Ooops, deu erro:",e)
except Exception,e:
print("Deu bode não previsto",e)
raise
while True:
try:
a = input("Entre com um numero ")
b = input("Entre com outro numero ")
print(a,"/",b,"=",a/b)
except Exception,e:
print("Deu bode:",e)
print("Tente novamente)
else:
break