From 8b1bb23a1eb6936cbcbb1ededd1bc76382b46a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Sat, 19 Nov 2022 10:31:20 -0300 Subject: [PATCH] =?UTF-8?q?Levantando=20e=20tratando=20suas=20Exceptions?= =?UTF-8?q?=20(Exce=C3=A7=C3=B5es)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aula146.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/aula146.py b/aula146.py index 3e3f27e..7ecccaf 100644 --- a/aula146.py +++ b/aula146.py @@ -1,11 +1,26 @@ -# Criando Exceptions em Python Orientado a Objetos -# Para criar uma Exception em Python, você só -# precisa herdar de alguma exceção da linguagem. -# A recomendação da doc é herdar de Exception. +# Levantando e tratando suas Exceptions (Exceções) # https://docs.python.org/3/library/exceptions.html -# Criando exceções (comum colocar Error ao final) # Levantando (raise) / Lançando (throw) exceções # Relançando exceções # Adicionando notas em exceções (3.11.0) class MeuError(Exception): ... + + +class OutroError(Exception): + ... + + +def levantar(): + exception_ = MeuError('a', 'b', 'c') + raise exception_ + + +try: + levantar() +except (MeuError, ZeroDivisionError) as error: + print(error.__class__.__name__) + print(error.args) + print() + exception_ = OutroError('Vou lançar de novo') + raise exception_ from error