2024-10-02 00:33:51 发布
网友
我无法控制不必要地引发某个异常的python库。在
有没有办法用“安慰剂”异常子类来处理它?i、 e
class MyException(Exception): def __init__(self, value): # literally do nothing. return to program flow pass
虽然另一个答案是正确的,但是如果您正在处理一些奇怪的/有缺陷的模块,您可以尝试一下fuckitpy!在
fuckitpy
请注意,让异常安静地通过通常是一个非常糟糕的主意。在
总之,使用fuckitpy的基本方法是(引用文档):
import fuckit #import some_shitty_module fuckit('some_shitty_module') some_shitty_module.some_function()
同样来自文档:
Still getting errors? Chain fuckit calls. This module is like violence: if it doesn't work, you just need more of it.import fuckit fuckit(fuckit('some_shitty_module')) # This is definitely going to run now. some_shitty_module.some_function()
Still getting errors? Chain fuckit calls. This module is like violence: if it doesn't work, you just need more of it.
import fuckit fuckit(fuckit('some_shitty_module')) # This is definitely going to run now. some_shitty_module.some_function()
fuckitpy (GitHub):https://github.com/ajalt/fuckitpy
fuckitpy (GitHub)
raises a certain exception
您有一个特定的异常,您应该通过在try-except块的except子句中指定异常类来处理该异常。在
try-except
安慰剂方法(即except Exception...)只会使其他异常静音,因为异常通常来自Exception,或者根本不起作用(使用新的异常类),因为引发的异常显然不是从新的异常类派生的。在
except Exception...
Exception
请记住:
Errors should never pass silently unless explicitly silenced
所以我不明白为什么要在不使用try-except的情况下撤消引发的异常。这个例外不是无缘无故提出的。在
如果您希望避免每次调用这个库中的函数时使用try-except,那么可以编写一个包装函数,用try-except来包装调用,然后从此使用新函数。在
from somelib import func from somelib import SomeException def wrapper_func(*args, **kwargs): try: func(*args, **kwargs) except SomeException: pass
虽然另一个答案是正确的,但是如果您正在处理一些奇怪的/有缺陷的模块,您可以尝试一下
fuckitpy
!在请注意,让异常安静地通过通常是一个非常糟糕的主意。在
总之,使用
fuckitpy
的基本方法是(引用文档):同样来自文档:
fuckitpy (GitHub)
:https://github.com/ajalt/fuckitpy您有一个特定的异常,您应该通过在
try-except
块的except子句中指定异常类来处理该异常。在安慰剂方法(即
except Exception...
)只会使其他异常静音,因为异常通常来自Exception
,或者根本不起作用(使用新的异常类),因为引发的异常显然不是从新的异常类派生的。在请记住:
所以我不明白为什么要在不使用
try-except
的情况下撤消引发的异常。这个例外不是无缘无故提出的。在如果您希望避免每次调用这个库中的函数时使用
try-except
,那么可以编写一个包装函数,用try-except
来包装调用,然后从此使用新函数。在相关问题 更多 >
编程相关推荐