Ros*_*ent 2 python exception try-catch
我有一个类 dataset.py ,它有很多函数,还实现了一个记录器,如下所示:
class dataset:
def get_data():
try:
if(sourcefile != None):
if not os.path.isfile(sourceFile):
raise FileNotFoundError
except FileNotFoundError:
logger.error('File not found!')
def do_something():
return
Run Code Online (Sandbox Code Playgroud)
我通过以下方式使用这些类:
datasetObj = dataset()
datasetObj.get_data()
datasetObj.do_something()
Run Code Online (Sandbox Code Playgroud)
现在,即使 get_data() 引发 FileNotFoundError,它也会在 except 块中处理,并且程序继续转到 do_something()。
我该如何阻止这个?如果出现文件未找到错误,则应停止执行。如何将异常返回给调用者并使 main.py 不再执行?
小智 5
你可以做几件事。
import sys # top of your code
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
我相信您也可以立即提出例外:
raise
Run Code Online (Sandbox Code Playgroud)
登录后立即执行此操作除外
| 归档时间: |
|
| 查看次数: |
9909 次 |
| 最近记录: |