diff --git a/src/yamaha2mqtt/error.py b/src/yamaha2mqtt/error.py index 77bdc09..6c01535 100644 --- a/src/yamaha2mqtt/error.py +++ b/src/yamaha2mqtt/error.py @@ -1,4 +1,5 @@ import logging +from functools import wraps class Error(Exception): """Base class for exceptions in this module.""" @@ -15,12 +16,13 @@ class ApiInvalidResponseError(Error): class ConnectionTimeoutError(Error): pass -def exception_handler(func): - def inner_function(*args, **kwargs): +def exception_handler(fn): + @wraps(fn) + def wrapper(*args, **kwargs): try: - func(*args, **kwargs) + fn(*args, **kwargs) except Error: logger = logging.getLogger('') logger.exception("Internal error occur") - return inner_function + return wrapper