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

标签 python python-3.x exception

我正在与引发如下异常的 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

最佳答案

如果需要,请使用异常 .args 来过滤内容:

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

关于python - 如何在 Python 3 中根据字符串参数捕获一般异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46565646/

相关文章:

python - 切片运算符何时在 Python 中创建浅拷贝?

python - 如何使用 pytest 确保正确创建对象?

java - 使异常默认执行某些操作

python - 如何使用 Python 3 将 lzma2 (.xz) 和 zstd (.zst) 文件解压到一个文件夹中?

使用 Python 生成 C++ 代码

python - 为什么即使对池的映射调用完成,进程仍需要很长时间才能加入?

python - [float(i) for i in lst]

python - 在 Python 中使用 gzip 或 zlib 缩小字符串 - 为什么我缺少 "H4sIAAAAAAAA/"位

java - SpringBoot-从自定义异常处理程序的日志中删除运行时异常

java - JUnit 抛出 java.lang.NoClassDefFoundError : org/hamcrest/MatcherAssert