forked from uncloud/uncloud
++ exception handling
This commit is contained in:
parent
1fba79ca31
commit
bff12ed930
3 changed files with 9 additions and 3 deletions
|
@ -8,6 +8,7 @@ import sys
|
|||
from logging.handlers import SysLogHandler
|
||||
from uncloud.configure.main import configure_parser
|
||||
|
||||
from uncloud import UncloudException
|
||||
|
||||
def exception_hook(exc_type, exc_value, exc_traceback):
|
||||
logging.getLogger(__name__).error(
|
||||
|
@ -61,5 +62,7 @@ if __name__ == '__main__':
|
|||
mod = importlib.import_module("uncloud.{}.main".format(name))
|
||||
main = getattr(mod, "main")
|
||||
main(**arguments)
|
||||
except UncloudException as err:
|
||||
logger.error(err)
|
||||
except Exception as err:
|
||||
logger.exception(err)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
class UncloudException(Exception):
|
||||
pass
|
|
@ -2,6 +2,7 @@ import etcd3
|
|||
import json
|
||||
import queue
|
||||
import copy
|
||||
from uncloud import UncloudException
|
||||
|
||||
from collections import namedtuple
|
||||
from functools import wraps
|
||||
|
@ -29,9 +30,9 @@ def readable_errors(func):
|
|||
try:
|
||||
return func(*args, **kwargs)
|
||||
except etcd3.exceptions.ConnectionFailedError as err:
|
||||
raise etcd3.exceptions.ConnectionFailedError(
|
||||
"etcd connection failed."
|
||||
) from err
|
||||
raise UncloudException(
|
||||
"Cannot connect to etcd: is etcd running as configured in uncloud.conf?"
|
||||
)
|
||||
except etcd3.exceptions.ConnectionTimeoutError as err:
|
||||
raise etcd3.exceptions.ConnectionTimeoutError(
|
||||
"etcd connection timeout."
|
||||
|
|
Loading…
Reference in a new issue