在模块初始化中发生异常时会发生什么

时间:2016-08-05 16:07:37

标签: python python-2.7 python-module

我有一个模块,在这个模块中,我会在导入模块后立即初始化一些变量。

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

谢谢你们。

1 个答案:

答案 0 :(得分:1)

如果您调用一个引发异常的函数,它与行为非常相似 - 如果您不在模块本身处理异常,那么它只会将堆栈提升到导入的任何人你的模块。

看起来像这样:

>>> import my_mobule  # sic
UhohError: something went wrong

如果您有机会在模块中处理它,您可以这样做:

try:
    _service = _build_service()
except UhohError:
    # your handling code here