Completed
Push — master ( 37160e...09023d )
by John
01:04
created

handle_exception()   A

Complexity

Conditions 2

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
dl 0
loc 17
rs 9.4285
c 1
b 0
f 0
1
#!/usr/bin/env python3
2
"""This module is used to handle/provide exceptions."""
3
4
__author__ = "Thurask"
5
__license__ = "WTFPL v2"
6
__copyright__ = "Copyright 2015-2016 Thurask"
7
8
9
def handle_exception(exc, msg="SOMETHING WENT WRONG", xit=SystemExit):
10
    """
11
    Print msg, then text of exception exc, then raise exception xit.
12
13
    :param exc: Exception to handle.
14
    :type exc: Exception
15
16
    :param msg: Message to raise, "SOMETHING WENT WRONG" by default.
17
    :type msg: str
18
19
    :param xit: Exception to raise upon exit, SystemExit by default.
20
    :type xit: Exception
21
    """
22
    print(msg)
23
    print(str(exc))
24
    if xit != DummyException:
25
        raise xit
26
27
28
class DummyException(Exception):
29
    """
30
    Exception that is not raised at all.
31
    """
32
    pass
33