Python中捕获的异常仍在冒泡

时间:2019-04-07 12:00:10

标签: python python-3.x exception

以下函数查找文件,如果找不到该文件,则计算一些内容然后写入该文件。基本上,这是一种幼稚的缓存系统。

def get_result(param):
    try:
        result = get_file(param)

    except FileNotFoundError:
        result = compute_something(param)
        save_to_file(result)

    return result

然后从另一个查询该函数:

def do_something(param):
    try:
        my_result = get_result(param)
    except Exception as e:
        print("Exception happened: {}".format(e.__class__.__name__))

现在,假设缓存文件尚不存在,请尝试一下:

>>> do_something(my_param)
Exception happened: FileNotFoundError

这个FileNotFoundError为何陷入get_result,却仍然在do_something冒出来?

0 个答案:

没有答案