gpt4 book ai didi

python - 如何知道异常是Python中内置的还是用户定义的

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:17 25 4
gpt4 key购买 nike

我有自己的异常类继承自 Exception 类。我可以检查类型是否为 in {..my exceptions list..},但在我的情况下这似乎有问题。是否有任何其他方法来检查异常是用户定义的还是 Python 的内置异常。谢谢!

编辑:问题是其他人可以编写他们自己的异常或在他们的文件中重命名现有异常,我不可能跟踪这些。我需要记录内置异常,并忽略因用户错误而抛出的异常。我需要检查除了 block

try:
# something
except Exception as god_knows_what_ex:
# check if built-in

最佳答案

您可以创建自己的继承自 Exception 的自定义异常类,并让您当前的异常类继承自该异常类。

所以基本上:

Exception
- MyExceptionClass
- MyExceptionClass1
- MyExceptionClass2
- Built-in exceptions

这样,您可以检查异常是否是您的 MyExceptionClass 的实例。

然后,如果您只想知道抛出的异常是用户定义的,您可以执行以下操作:

try:
method_that_can_throw_an_exception()
except MyExceptionClass:
print('User-defined exception thrown')

关于python - 如何知道异常是Python中内置的还是用户定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55262562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com