summaryrefslogtreecommitdiff
path: root/wrappers/python/eduvpncommon/error.py
blob: 2ec82e78f02ef7cf8546871e1339b9262134ba6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from enum import Enum

class GoError(Exception):
    message_dict: dict
    code: Enum | None

    def __init__(self, err: Enum, messages: dict):
        assert err
        try:
            self.code = err
        except ValueError:
            self.code = None
        self.message_dict = messages

    def __str__(self):
        return self.message_dict[self.code] if self.code in self.message_dict else f"unknown error ({self.code})"