4

我正在尝试使用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

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

4

1 回答 1

6

只需抓住所有异常的基础:

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

RopeError!
于 2015-09-12T09:00:39.767 回答