我不确定何时适合使用try / catch vs throw异常。大多数时候,当我使用try / catch时,我通常只打印一条消息并打印堆栈跟踪。
try {
//try to do something
}catch(Exception e) {
logger.error("error in doing this!");
e.printStackTrace();
}
我不确定这是否是处理异常的好方法。抛出异常是否更好,因为我真的不知道如何处理它。什么时候最好使用try / catch,什么时候最好使用throw?
异常处理的最佳做法是什么?向用户抛出异常以便他们处理它是不是很糟糕?
请提供一些具体的例子,说明何时应该使用什么,以及应该如何使用。
P.S:我知道已经提出了一些类似的问题,但我不觉得答案足够充分,所以我想重新考虑更多具体的例子/细节。