从模块中捕获所有异常的 Pythonic 方法?

Pythonic way to catch all exceptions from a module?

我正在尝试使用 rope 包进行一些重构。根据代码的不同,它可能会抛出异常,并且有超过 10 个绳索异常。

我不想做

from rope.base.exceptions import *

try:
    # do something
except (AttributeNotFoundError, ModuleDecodeError,
        ..., ..., ..., RefactoringError) as e:
     # do something else

我只想捕获所有绳索异常,像这样

import rope

try:
    # do something
except rope.base.exceptions.*:
    # do something else

如何捕获特定模块的所有异常?

只捕获所有异常的基数:

In [5]: import rope.base.exceptions as rbe
In [6]: try:
   ...:     raise rbe.AttributeNotFoundError
   ...: except rbe.RopeError, e:
   ...:     print "RopeError -", e
   ...:

RopeError!