我最近已经通过PMD运行了我的代码。还有一个jsp,在这个jsp中,有人写了一个试捕块(我知道这是个糟糕的实践)。
代码是这样的
<%
Thread t = new Thread(runA);
String tClassName = null;
tClassName = request.getParameter("classname");
t.setName(tClassName);
t.start();
%>
<%!
Runnable runA = new Runnable(){
public void run(){
try{
// some code here
}
catch(Exception e){
e.printStackTrace();
}
}
};
%>现在,PMD工具建议不要使用printStackTrace()方法,因为它可能会导致安全漏洞。
请有人为printStackTrace()推荐一个替代方案,在catch块内使用。请注意这段代码在jsp页面上。
发布于 2014-01-27 17:27:08
如果要记录异常,则使用一些日志框架(如Log4j)并使用
log.error("Ops!", e);好处是日志框架记录到服务器上正确的日志文件。e.printStackTrace()只写到System.err。
https://stackoverflow.com/questions/21387153
复制相似问题