gpt4 book ai didi

python - 为单个函数声明异常类型是否合理?

转载 作者:太空狗 更新时间:2023-10-30 01:29:33 25 4
gpt4 key购买 nike

假设我有这段代码:

def wait_for_x(timeout_at=None):
while condition_that_could_raise_exceptions
if timeout_at is not None and time.time() > timeout_at:
raise SOMEEXCEPTIONHERE

do_some_stuff()

try:
foo()
wait_for_x(timeout_at=time.time() + 10)
bar()
except SOMEEXCEPTIONHERE:
# report timeout, move on to something else

如何为函数选择异常类型SOMEE​​XCEPTIONHERE?为该函数创建一个唯一的异常类型是否合理,这样就没有 condition_that_could_raise_exceptions 引发相同异常类型的危险?

wait_for_x.Timeout = type('Timeout', (Exception,), {})

最佳答案

如果区分来自 wait_for_x 的异常和来自 condition_that_could_raise_exceptions 的异常足够重要,那么当然可以定义一个新的异常类型。毕竟,类型是区分不同类型异常的主要方式,解析消息往往很快就会变得困惑。

关于python - 为单个函数声明异常类型是否合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612240/

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