我应该测试if
某些东西是有效的还是只是try
去做它并捕获异常?
- 是否有任何可靠的文件表明首选一种方法?
- 一种方式更pythonic吗?
例如,我应该:
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
或者:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
一些想法......
PEP 20说:
错误永远不应该悄无声息地过去。
除非明确沉默。
是否应该将使用 atry
而不是 anif
解释为静默传递的错误?如果是这样,您是否通过以这种方式使用它来明确地使其静音,从而使其正常?
我不是指您只能以一种方式做事的情况;例如:
try:
import foo
except ImportError:
import baz