我想知道检查 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/