Python确定函数中是否引发了异常

2024-03-29 08:58:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在为另一个我无法控制的Python库编写扩展。库具有以下功能:

def xyz():
    try:
        sources = []
        ...
        #code that may add values to sources and may also throw an exception
        ...
        return sources
    except:
        return sources

如果返回一个空列表,我想知道是因为抛出了异常(在值可以添加到源中之前),还是因为没有值添加到源中(没有抛出异常)。你知道吗

有什么想法吗?同样,我无法控制函数,因此除了函数之外,我无法更改返回值或添加try->。你知道吗


Tags: andto函数功能addreturnthatdef
1条回答
网友
1楼 · 发布于 2024-03-29 08:58:21

你可以尝试用一个合理的实现来修补lib函数:

import insanelib

def myxyz():
    sources = []
    ...
    #code that may add values to sources and may also throw an exception
    ...
    return sources


insanelib.xyz = myxyz

或者你可以向lib的作者提交一个补丁,这样他至少可以提供一个选项来忽略异常。你知道吗

相关问题 更多 >