Completed
Push — master ( 18d750...3bad9e )
by Andrii
11:56
created

heppy.Error   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 19
Duplicated Lines 0 %
Metric Value
dl 0
loc 19
rs 10
wmc 5
1
import logging
2
3
class Error(Exception):
4
    def __init__(self, message, data = {}):
5
        self.message = message
6
        self.data = data
7
8
    def __str__(self):
9
        return self.message + ": " + repr(self.data)
10
11
    @staticmethod
12
    def die(code, error, message = None):
13
        if isinstance(error, Exception):
14
            e = error
15
            error = '{0}.{1}'.format(type(e).__module__, type(e).__name__)
16
            message = str(e)
17
        print 'Error: ' + error
18
        if message:
19
            print message
20
        logging.exception(message)
21
        exit(code)
22
23