【发布时间】:2018-08-14 15:16:38
【问题描述】:
如果我有这个功能,
def parse_datetime(s, **kwargs):
""" Converts a time-string into a valid
:py:class:`~datetime.datetime.DateTime` object.
Args:
s (str): string to be formatted.
``**kwargs`` is passed directly to :func:`.dateutil_parser`.
Returns:
:py:class:`~datetime.datetime.DateTime`
"""
if not s:
return None
try:
ret = dateutil_parser(s, **kwargs)
except (OverflowError, TypeError, ValueError) as e:
logger.exception(e, exc_info=True)
raise SyncthingError(*e.args)
return ret
将捕获的异常引发为公共库异常的最正确方法是什么? (SyncthingError(Exception)) 现在的写法不能正常工作。
【问题讨论】:
-
如果你想提高
SyncthingError,那么就这样做:raise SyncthingError(e)。如果您想引发您捕获的异常,只需执行raise -
你能试试
raise ... from ...吗?
标签: python python-3.x