10.5 *字符串作为异常

早在Python 1.5前,标准的异常是基于字符串实现的。然而,这样就限制了异常之间不能有相互关系。这种情况随着异常类的来临而不复存在。到1.5为止,所有的标准异常都是类了。程序员还是可以用字符串作为自己的异常的,但是我们建议从现在起使用异常类。

为了向后兼容性,还是可以启用基于字符串的异常。从命令行以-X为参数启动Python可以提供你字符串方式的标准异常。从Python1.6起这个特性被视为废弃的。

Python 2.5开始处理向来不赞成使用的字符串异常。在2.5中,触发字符串异常会导致一个警告。在2.6,捕获字符串异常会导致一个警告。由于它很少被使用而且已经被废弃,我们将不再在本书范围内考虑字符串异常并且已经去除相关文字。(在本书的早期版本中你会找到这些)。唯一也是最后的中肯警告是:你可能用到仍然使用着字符串异常的外部或第三方的模块。字符串异常总而言之是一个糟糕的想法,读者可以回想,有着拼写错误的Linux RPM异常如在眼前。