Python Return 函数错误
Python Return error from function
我正在编写一个 python 函数,它使用两个大小相等的数组 [n,1]。在执行任何计算之前,我想检查以确保长度相同,如果不相同,return 一个错误。最佳做法是什么?
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
我很困惑,因为我想中断 return 一个错误代码(比如 -1)。好像break会return没有任何值,而return会继续执行函数?或者 Return 是否突破了任何剩余的代码?
您不需要 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
只是 return 错误代码。这样函数剩下的代码就不会执行了。
What is the best practice?
在python代码中,错误条件通常用异常表示。你可以使用 raise ValueError("Arrays must have the same size")
.
使用异常而不是 return 值来指示错误具有额外的优势,即异常会冒泡直到它到达 except
语句。因此,您可以将错误处理推迟到有意义的地方。异常也有相关的描述性消息而不是幻数。
与许多其他语言一样,break
statement 用于中断循环中的流程,例如使用 while
或 for
创建的循环。
我正在编写一个 python 函数,它使用两个大小相等的数组 [n,1]。在执行任何计算之前,我想检查以确保长度相同,如果不相同,return 一个错误。最佳做法是什么?
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
我很困惑,因为我想中断 return 一个错误代码(比如 -1)。好像break会return没有任何值,而return会继续执行函数?或者 Return 是否突破了任何剩余的代码?
您不需要 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
只是 return 错误代码。这样函数剩下的代码就不会执行了。
What is the best practice?
在python代码中,错误条件通常用异常表示。你可以使用 raise ValueError("Arrays must have the same size")
.
使用异常而不是 return 值来指示错误具有额外的优势,即异常会冒泡直到它到达 except
语句。因此,您可以将错误处理推迟到有意义的地方。异常也有相关的描述性消息而不是幻数。
与许多其他语言一样,break
statement 用于中断循环中的流程,例如使用 while
或 for
创建的循环。