checked exception 有时会成为代理的障碍(又多了一条不用checked exception的理由)。
某lib的异常类型设计为单根的异常类型树时,根类型选择 extends RuntimeException,而不是 Exception,可是fatal和non fatal不妨清楚的分开成两枝。
lib最好特别为事实上现的实例化过程设计专门的异常类型。
回调接口能够作为跨线程异常处理的一般手段。
异常处理问题是队列模式(或者不论什么非同步调用)的一个短处。
代理可能为实现单线程队列提供方便,但同一时候可能为异常处理添加额外的复杂度。
前提检查的异常应与逻辑异常明白区分,代理不要擅自忽略前提检查,——代理应该明白follow接口的contract或者明白提出自己的contract。
某lib的异常类型设计为单根的异常类型树时,根类型选择 extends RuntimeException,而不是 Exception,可是fatal和non fatal不妨清楚的分开成两枝。
lib最好特别为事实上现的实例化过程设计专门的异常类型。
回调接口能够作为跨线程异常处理的一般手段。
异常处理问题是队列模式(或者不论什么非同步调用)的一个短处。
代理可能为实现单线程队列提供方便,但同一时候可能为异常处理添加额外的复杂度。
前提检查的异常应与逻辑异常明白区分,代理不要擅自忽略前提检查,——代理应该明白follow接口的contract或者明白提出自己的contract。