如何根据Python 3中的字符串参数捕获一般异常?

时间:2017-10-04 13:04:25

标签: python python-3.x exception exception-handling

我正在与引发例外情况的API进行通信:raise Exception("end of time")

如果字符串参数为"结束时间"我如何捕获Exception

我不想这样做:

except Exception:
    pass

我想做类似的事情:

except Exception("end of time"):
    pass

然而,这并没有发现异常。

示例追溯:

File "test.py", line 250, in timeout_handler
    raise Exception("end of time")
Exception: end of time

2 个答案:

答案 0 :(得分:4)

如果您需要,请使用例外.args来过滤内容:

try:
    raise Exception("end of time")
except Exception as e:
    if e.args[0] == 'end of time':
        pass # handle
    else:
        raise

答案 1 :(得分:0)

嗯,理想的情况应该是提出自定义异常。由于情况并非如此,因此解决方法可以检查异常消息。

except Exception as exp:
    if str(exp) == 'end of time':
        # do something
    else:
        # pass or do something else