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

Chi*_*and 4 python exception-handling exception rope

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

我不想做

from rope.base.exceptions import *

try:
    # do something
except (AttributeNotFoundError, ModuleDecodeError,
        ..., ..., ..., RefactoringError) as e:
     # do something else
Run Code Online (Sandbox Code Playgroud)

我只想捕捉所有绳子异常,像这样

import rope

try:
    # do something
except rope.base.exceptions.*:
    # do something else
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*nes 6

只需捕获所有异常的基础:

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

RopeError!
Run Code Online (Sandbox Code Playgroud)