在C中,如果我没错,main
函数如果没有错误则返回0,如果发生错误则返回0不等。
是否适合在Python中执行相同操作(只要函数不必返回任何特定值,而只需返回一个指示成功/失败的值);或者只是处理异常?
答案 0 :(得分:13)
在Python中,您不应使用返回值来指示错误。您应该使用例外。
所以,要么让爆炸的异常爆发,要么抛出新的异常。
def check_foo(foo):
if foo == bar:
do_something(args)
try:
check_foo(...)
except SomeError:
# Oops! Failure!
something_went_wrong()
else:
# Yay! Success!
everything_went_well()
在某些情况下,使用返回布尔值的函数是有意义的,但不应该用于指示错误。
这通常用于例行检查,其中某些事情可能是真或假,也不是例外(即 )
def is_foo(foo):
return foo == "foo"
答案 1 :(得分:3)