在下面的示例中给出,符号A在模块a中定义并在b中导入。模块c导入b。它应该直接从模块a访问A还是从B(它直接导入的模块)获取?我正在考虑后者,所以我不需要担心删除对A的直接引用,如果有一天我从模块c中退出对b的引用。
a.py
def A(Exception):
pass
def funA():
raise A
b.py
from a import A, funA
def funB():
try:
funA()
except A as e:
# some additional handling
raise
c.py
import b
# Which of the following is preferred?
# 1.
try:
funB():
except a.A:
# do something
# 2.
try:
funB():
except b.A:
# do something
答案 0 :(得分:1)
我推荐前者,因为:
然而,在一天结束时,它归结为您和您的团队喜欢的内容。无论您选择什么,我建议您与选择保持一致。