首页 > 代码库 > 几条关于异常处理的备忘
几条关于异常处理的备忘
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。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。