非必要情况,不要使用可控异常(针对Java),否则将会造成一个极其麻烦的修改链不要返回null值,如果要求返回的是一个列表,可以返回空列表可以使用特例模式(Special Case Pattern)减少异常必要时刻打包API,定义新的异常类统一异常处理业务逻辑尽量与异常处理隔开提倡先写try-catch-finally,可以明确代码用户期待什么,并使用测试驱动缩小异常范围