尝试在 python 中除外"FileNotFound"错误后不会停止执行



我是"尝试&除了";很抱歉,如果我的问题很新手。我试着查找原因,但没有找到。

我正在尝试一个非常简单的Try an Except for read_csv:

try:
cntrl = pd.read_csv(my_directory + file, sep='|')
except FileNotFoundError:
logger.critical("file not found")
logger.info(f"file imported. Number of records: {len(cntrl )}")

因此,当我没有文件时,try-and-except只打印错误并移动到"的下一行;logger.info";代码以给出以下错误。

UnboundLocalError: local variable 'cntrl' referenced before assignment

当发现错误时,代码不应该停止而不移动到下一个吗?当我运行read_csv代码时,除了之外没有try,它会停止并将错误抛出为FileNotFound。

您可以添加一些代码,这些代码只有在try语句中的内容没有通过else:引发except状态时才应该运行

  • https://docs.python.org/3/tutorial/errors.html

此外,如果您希望在出现错误时停止代码,请在except语句中使用sys.exit()

  • https://docs.python.org/3/library/sys.html

  • 在Python中引发异常时,如何停止程序?

然而,正如Aryerez所说,try-except语句的目的通常是防止代码崩溃。如果您希望它在发生错误时停止运行,您可以完全删除try-catch语句。

最新更新