我有一个模块,在这个模块中,我会在导入模块后立即初始化一些变量。
my_mobule.py:
firebaseConfig.setEventTarget(new EventTarget() {
ExecutorService executor = Executors.newSingleThreadExecutor();
@Override
public void postEvent(Runnable runnable) {
executor.execute(runnable);
}
@Override
public void shutdown() {
executor.shutdown();
}
@Override
public void restart() {
}
});
Firebase.setDefaultConfig(firebaseConfig);
在这种情况下,如果def _build_service():
# ...do some stuffs
_service = _build_service()
方法引发异常会发生什么?我的模块如何从异常中恢复并尝试再次调用_build_service
?
谢谢你们。
答案 0 :(得分:1)
如果您调用一个引发异常的函数,它与行为非常相似 - 如果您不在模块本身处理异常,那么它只会将堆栈提升到导入的任何人你的模块。
看起来像这样:
>>> import my_mobule # sic
UhohError: something went wrong
如果您有机会在模块中处理它,您可以这样做:
try:
_service = _build_service()
except UhohError:
# your handling code here