比如 A 方法调用 B 方法,什么情况 B 要捕获异常自己处理,什么情况要抛给 A 去处理呢?我理解如果异常的产生和 A 调用大带宽服务器传入的参数等无关,是 B 本身的问题,就要 B 自己处理,反之要抛给 A 。不知道理解的对不对?
如果 b 觉得 a 需要关注这个异常就抛给 a,如果 b 觉得 a 不需要关注就自己吃了就行。
参数不合法以及产生的异常属于要抛出的,目前就想到这个
好问题, 也是一个好的面试题.
比如说,读取文件,文件名是合法的,但是文件不存在,就抛一个 FileNotFoundException,告诉调用者我不能正确的处理,是因为文件不存在,你看看这个问题怎么处理下。
有一些允许调用超时的场景,就会将超时的异常给吞掉,不返回给调用者。
我的理解是能处理的自己处理 处理不了的往上扔。
恩,但是有时候比较难界定感觉
这个思路好,下层尽可能处理,处理不了的扔回去,只要能分清哪些能处理哪些处理不了就可以了,确实是这个思路,感谢感谢
我的思路是对于调用者来说,这个错误会不会产生预期之外的结果,如果不会的话自己处理,如果会的话能往上扔的就往上扔,不要隐藏错误自己处理
结合了一下 5 楼的思路,大概就是自己能处理的自己尽量处理,但是不要吞掉一些本身不是被调用方的异常。感谢
是不是比问 茴香豆的茴有多少写法好