From 1ba778f7f19c503ed95a1dc78a96c8efd691ae7a Mon Sep 17 00:00:00 2001 From: SET Date: Wed, 19 Aug 2020 11:47:09 -0300 Subject: [PATCH] Added some exception experiments I did. They are to verify a detail we discussed with @qu1ck about a patch for IBoM. They aren't very interesting, but they are a playground to test Python 2/3 exception details. --- experiments/exception/demo2.py | 9 +++++++++ experiments/exception/demo3.py | 7 +++++++ experiments/exception/test.py | 21 +++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 experiments/exception/demo2.py create mode 100644 experiments/exception/demo3.py create mode 100644 experiments/exception/test.py diff --git a/experiments/exception/demo2.py b/experiments/exception/demo2.py new file mode 100644 index 00000000..be28c88d --- /dev/null +++ b/experiments/exception/demo2.py @@ -0,0 +1,9 @@ +########### +# Python 2: +########### +try: + raise Exception +except Exception as e: + s, r = getattr(e, 'message') or str(e), getattr(e, 'message') or repr(e) + print 's:', s, 'len(s):', len(s) # noqa: E999 + print 'r:', r, 'len(r):', len(r) # noqa: E999 diff --git a/experiments/exception/demo3.py b/experiments/exception/demo3.py new file mode 100644 index 00000000..39f1e39a --- /dev/null +++ b/experiments/exception/demo3.py @@ -0,0 +1,7 @@ +#!/usr/bin/python3 +try: + raise Exception +except Exception as e: + s, r = getattr(e, 'message', str(e)), getattr(e, 'message', repr(e)) + print('s:', s, 'len(s):', len(s)) + print('r:', r, 'len(r):', len(r)) diff --git a/experiments/exception/test.py b/experiments/exception/test.py new file mode 100644 index 00000000..ca61d9aa --- /dev/null +++ b/experiments/exception/test.py @@ -0,0 +1,21 @@ +import logging + +logging.basicConfig(level=logging.DEBUG) + + +class ETest(Exception): + pass + + +try: + raise ETest("Hi!") +except ETest as e: + print(e) + print(repr(e)) + print(type(e)) + print(e.__dict__) + logging.debug(e) + logging.error(e) + logging.warning(e) + logging.info(e) + logging.critical(e)