Python函数返回错误
我正在编写一个python函数,它使用两个大小相等的数组[n,1]。在执行任何计算之前,我想检查以确保长度相同,如果不相同,则返回一个错误。最佳做法是什么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 我
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,提出错误比返回数字要好得多