如何停止错误执行?

2024-09-27 09:37:01 发布

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

在python中,防御性中止执行的常见方法是简单地执行以下操作:

if something_went_wrong:
    print("Error message: goodbye cruel world")
    exit(1)

然而,当使用jupyter notebook时,这并不是一个好的实践,因为这似乎会完全中止内核,而这并不总是需要的。除了hack-y infinite循环之外,在jupyter中有没有合适/更好的方法?在


Tags: 方法messageworldifexitjupytererrorsomething
1条回答
网友
1楼 · 发布于 2024-09-27 09:37:01

不,exit()不是通常中止Python执行的方法。 exit()表示立即用状态码停止解释器。在

通常,您会编写这样的脚本:

 if __name__ == '__main__':
     sys.exit(main())

尽量不要把sys.exit()放在代码中间-这是一种不好的做法, 最后可能会得到非关闭的filehandle或锁定的资源。在

要想做什么,只需引发一个正确类型的异常。如果它传播到eval循环,IPython将停止执行笔记本。在

此外,它还将为您提供有用的错误消息和堆栈跟踪。在

^{pr2}$

您甚至可以使用%debug检查堆栈的事后检查,看看哪里出了问题,但这是另一个主题。在

相关问题 更多 >

    热门问题