那些让你快速升级的python大牛写的优美代码(1)
本文章的代码参考自python神书《500 lines or less》,每一章都是由不同领域的大牛编写而成。
如下,如果我们要抛出异常,一般这样写
先自定义一个异常类
然后使用这个类抛出自己的需要的异常类型
但是,这样的话,如果需要检测的情况太多,这个方法便会写的很长,所以当异常太多时,我们可以把他们包装成类,然后重构代码
先定义一个异常处理的基类
关于用断言实现多态性,可以看我这篇文章《那些让你快速升级的python大牛写的优美代码(2)》
当然你也可以用异常处理,抛出NotImpLementedError来抛出未实现接口的异常
把一个个异常检测派生出子类,对应抛出相应异常的类
然后把这些类放到一个异常处理的列表里,相应更改对应的do_GET里的代码,记得注意列表的顺序
其他没说的部分都补充在注释里了
当然,这方法不止可以在异常处理时用,几乎所有if elif else语句都可以这样用,只是这个例子比较经典而已