Epi*_*aph 3 java exception-handling try-catch
我有一个代码抛出一堆异常,但每个异常只包含一个printStackTrace()方法,如下所示
} catch (SecurityException e) {
// TODO Auto-generated catch block
System.err.println(e);
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这是否足够,还是需要包含System.err.println(e)等其他语句?通常,如果发生异常,我可以单独使用上述内容跟踪源.
如果有什么办法可以解决问题,那么在catch中执行它,如果没有什么可以做的话,那么最好使用日志框架来注册异常而不是使用e.printStackTrace();或者System.err.println(e);
我个人推荐:http://www.slf4j.org/,但如果你有自虐倾向,你可以尝试非常糟糕的(但官方的)Java Logging API:http://download.oracle.com/javase/1.4.2/docs/guide/util/logging /.
SLF4J的一个额外优势是它可以将其日志记录重定向到糟糕的Java Logging API(这样您就可以使用设计优雅的API,并且仍然符合设计得非常好(法律上不是事实上)的"标准"
SLF4J易于使用,记录异常所有你需要做的就是写logger.error("some accompanying message", exception);,另一个优点是你可以,例如,配置它每次你的应用程序崩溃时发送给你一个电子邮件(通过使用logback作为底层日志记录)发动机)
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |