Python函数返回错误

Python函数返回错误,python,error-handling,break,Python,Error Handling,Break,我正在编写一个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 我

我正在编写一个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将继续执行函数?或者Return是否会中断任何剩余的代码

您不需要
中断

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
只需返回错误代码。这样,函数的其余代码将不会执行

最佳做法是什么

在python代码中,错误条件通常用异常表示。您可以使用
raisevalueerror(“数组必须具有相同的大小”)

使用异常而不是返回值来指示错误还有一个额外的优点,即异常会冒泡,直到到达
except
语句。因此,您可以将错误处理推迟到有意义的地方。此外,异常具有关联的描述性消息,而不是幻数


与许多其他语言一样,用于中断循环中的流,就像使用
while
for

创建的循环一样。这个问题涉及如何手动引发错误,这会阻止脚本在从函数返回后继续执行。
return
不会继续执行函数我认为引发错误而不是硬编码值更优雅、更安全。我同意@MattSom,提出错误比返回数字要好得多