[英]Python Return error from function
我正在编写一个python函数,它使用两个大小相等的数组[n,1]。 在执行任何计算之前,我想检查以确保长度相同,如果不是,则返回错误。 什么是最佳做法?
def do_some_stuff(array1, array2):
# Before doing stuff, check to ensure both arrays have the same length
if len(array1) != len(array2):
# Break and return with error
我很困惑,因为我想打破并返回错误代码(比如-1)。 似乎break将返回没有任何值,返回将继续执行该函数? 或者Return是否会突破任何剩余的代码?
什么是最佳做法?
在python代码中,错误条件通常用异常表示。 您可以使用raise ValueError("Arrays must have the same size")
。
使用异常而不是返回值来指示错误具有额外的优势,即异常会在到达except
语句之前冒泡。 因此,您可以将错误处理推迟到有意义的地方。 异常也有相关的描述性消息而不是幻数。
与许多其他语言一样, break
语句用于中断循环中的流,例如使用while
或for
创建的循环。
你不需要break
def do_some_stuff(array1, array2):
# Before doing stuff, check to ensure both arrays have the same length
if len(array1) != len(array2):
return -1
只需返回错误代码即可。 这样,函数的其余代码将不会被执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.