在决定是否让方法避免异常时(例如:让异常传播)或者在收到异常后处理它时,你使用了什么guidlines?
这是我想要问的一个例子
如果我有三个方法method1,2,3和3. Method1调用Method2调用Method3.并且只有在方法3中抛出异常才能让异常传播如下(请原谅我的伪java;))
method1 { try { call method2; } catch (exception e) { doErrorProcessing; } } method2 throws exception { call method3; } method3 throws exception { call readFile; }
一旦它被提出,我应该何时处理异常,如下所示
method1 { call method2; } method2 { call method3; } method3 { try { call readFille } catch (exception e) { doErrorProcessing; } }
paxdiablo.. 7
我遵循的规则:
如果我可以修复异常,或者使导致异常的问题无效(有时这意味着完全忽略它),我会处理它.否则它会被传递到下一个级别.
而且我总是尝试尽可能地将异常修复为树中的异常(即在它们发生之后尽快) - 这样可以对异常处理进行本地化处理,并避免在您的上层使用大的honkin'异常处理程序.
我遵循的规则:
如果我可以修复异常,或者使导致异常的问题无效(有时这意味着完全忽略它),我会处理它.否则它会被传递到下一个级别.
而且我总是尝试尽可能地将异常修复为树中的异常(即在它们发生之后尽快) - 这样可以对异常处理进行本地化处理,并避免在您的上层使用大的honkin'异常处理程序.