我正在研究一个在某个时刻实例化另一个对象的对象。该内部对象可能会抛出异常。我可以让这个异常泡到任何处理父对象的代码,这就是我想要做的,遵循KISS的理念。或者,我可以在父对象中执行一些异常处理,并且可能为“客户端”代码提供更有意义的异常。是否有一般规则要遵循,或者我是否根据具体情况决定该做什么?
使用子对象,我花时间编写错误代码,因此在将来的某个时候,我可以给最终用户一个更有意义的错误消息。如果父对象和子对象有自己的错误代码集,我该如何处理?看来我会编写一个异常处理程序来查看错误代码及其原始类,对吗?
答案 0 :(得分:1)
如果“外部”对象无法处理“内部”对象抛出的异常,那么它一定不能尝试。充其量它可以捕获一些更常见的,并重新抛出附加的更多信息。
答案 1 :(得分:1)
假设外部对象无法处理异常,我只会抓住并重新抛出它作为一个不同的异常,如果有充分的理由隐藏内部对象。您不希望所有代码都依赖于不需要公开的内容。
除此之外,如果外部对象不知道该做什么或者什么都不能添加,那么它不应该真正触及异常。