python - 阻止Python定义的执行

标签 python

我想知道检查 Python 定义中的条件并在条件不满足时阻止其进一步执行的最佳方法是什么。现在我正在遵循下面提到的方案,但它实际上打印了整个跟踪堆栈。我希望它只打印错误消息而不执行其余代码。有没有其他更清洁的解决方案可以做到这一点。

def Mydef(n1,n2):
    if (n1>n2):
        raise ValueError("Arg1 should be less than Arg2)
    # Some Code


Mydef(2,1)

最佳答案

这就是创建异常的目的。总的来说,你提出异常(exception)的方案是好的;你只需要添加一些代码来捕获它并处理它

try:
    Mydef(2,1)
except ValueError, e:
    # Do some stuff when exception is raised, e.message will contain your message

在这种情况下,Mydef 的执行在遇到 raise ValueError 代码行时停止,并转到 except 下的代码块。

您可以在documentation中阅读有关异常处理的更多信息。 .

如果您不想处理异常处理,您可以使用 return 语句优雅地停止函数以执行进一步的代码。

def Mydef(n1,n2):
    if (n1>n2):
        return

关于python - 阻止Python定义的执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900280/

相关文章:

python - 将 R 数据框加载到 Python 中并转换为 Pandas 数据框

python - 在 Open3D 中不打开 Visualizer 捕获深度图像?

machine-learning - 回归模型假设

python - 使用 bs4/python3 提取 href?

python - 在linux中一次对一个文件夹中的一堆文件运行Python代码

python - urlpattern 的正则表达式

python - 在 Python 中实现不相交集系统

Python 子进程 kill 不释放文件句柄

python - 同时使用两个 Flask 应用程序

python - 将十进制值转换为二进制、十六进制和八进制的单个函数不会转换为二进制