我是"尝试&除了";很抱歉,如果我的问题很新手。我试着查找原因,但没有找到。
我正在尝试一个非常简单的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语句。