raise 的异常参数是一个实例 (core python,有疑问)

raise 的异常参数是一个实例 (core python,有疑问)

看 core python 时遇到了不解。第 10 章,异常处理部分。

QUOTE:
What happens if the argument is an instance? No problems arise if instance
is an instance of the given exception class. However, if instance is not an
instance  of  the  class  or  an  instance  of  a  subclass  of  the  class,  then  
a  new instance of the exception class will be created with exception
arguments copied from  the  given  instance.  If  instance is  an  instance  of
a  subclass  of  the exception  class,  then  the  new  exception  will  be  
instantiated  from  the  sub- class, not the original exception class.

上面引用中第一个 argument 指的是 raise someExceptation instance 中的 instance

书(电子)上的翻译为

QUOTE:
当参数是一个实例的时候会发生什么呢? 该实例若是给定异常类的实例当然不会有问题, 然
而, 如果该实例并非这个异常类或其子类的实例时, 那么解释器将使用该实例的异常参数创
建一个给定异常类的新实例. 如果该实例是给定异常类子类的实例, 那么新实例将作为异常
类的子类出现, 而不是原来的给定异常类.

if instance is not an
instance  of  the  class  or  an  instance  of  a  subclass  of  the  class,  then  
a  new instance of the exception class will be created with exception
arguments copied from  the  given  instance.


如果该实例并非这个异常类或其子类的实例时, 那么解释器将使用该实例的异常参数创
建一个给定异常类的新实例

感觉这里的意思应该是:如果该实例并非这个异常类或子类的实例时,那么解释器将复制该实例作为新建实例的参数。

在同一本书的后面若干页,有

QUOTE:
raise exclass,instance
Raise exception using instance (normally an instance of exclass); if instance
is an instance of a subclass of exclass, then the new exception will be of the
subclass type (not of exclass); if instance is not an instance of exclass or an
instance of a subclass of exclass, then a new instance of exclass will be
created with exception arguments cop- ied from instance



QUOTE:
通过实例触发异常(通常是exclass的实例);如果实例是exclass的子类实例,那么这个新
异常的类型会是子类的类型(而不是exclass);如果实例既不是exclass的实例也不是
exclass子类的实例,那么会复制此实例为异常参数去生成一个新的exclass实例.

但是,随便一个 instance 复制后都可以作为一个  exclass 的参数吗?

异常很少见到直接使用实例的,都是很简单的字符串。所以上面说的情况我是从来没有遇到(也许是看别人的代码没注意)和用过(我自已是从来没有用过这种形式的)。