如何使用try andexcept块调用另一个函数后杀死脚本?

问题描述 投票:0回答:1

我正在用tkinter创建一个GUI,当我单击Submit时,我运行一个函数,在该函数中,我需要检查用户是否输入了数字而不是字符串。为此,我使用以下代码:

try:
    Thickness = float(Thickness)/1000
except Exception:
    print('Please only enter an integer into the Thickness field')
    Error_Integer_Thickness()

[Thickness]是我从GUI输入中检索到的变量的名称,而'Error_Integer_Thickness'是我创建的用于显示自定义错误窗口的函数。

我希望代码在发现错误后停止,但是我不想使用'typeError',因为那样用户将看不到我的错误窗口。运行此代码将生成我的错误窗口,但从输出中我看到该代码仍然尝试继续执行并失败,因为稍后在代码中尝试将字符串转换为浮点数。

我试图在代码块的末尾使用'sys.exit(1)',但这会阻止显示我的错误窗口。另外使用'sys.exit'是不理想的,因为我希望GUI在关闭错误窗口后保持打开状态。

我对try和expet块没有太多的经验,所以将不胜感激。

python-3.x user-interface tkinter try-except
1个回答
0
投票

除了在函数内部的块之外,这是尝试吗?如果是这样,您可以在Error_Integer_Thickness()调用之后从函数中返回。

© www.soinside.com 2019 - 2024. All rights reserved.