我正在将 Solr(在 Tomcat 服务器上)与 Web 服务一起使用。当最终用户传递 Solr 查询 url 时,请求通过 web 服务并在浏览器中呈现结果。如果出现异常,我会收到 HTTP ERROR 500,然后是浏览器中的跟踪日志。我不希望最终用户看到跟踪日志,但希望在浏览器中显示自定义错误消息。
关于如何实现这一目标的任何想法?
我正在使用的代码片段
private Integer determineStart(final String start) throws DQSException {
Integer intValue = null;
try{
intValue = Integer.valueOf(start) ;
return intValue;
}
catch(NumberFormatException e){
throw new DQSException(
"Start should be a Numeric value >= 0");
}
}
自定义异常
public class DQSException extends Exception {
/**
*
*/
private static final long serialVersionUID = 7669894738044609438L;
public DQSException(String message, Throwable e) {
super(message,e);
}
public DQSException(String message) {
super(message);
}
}
浏览器中的异常
HTTP 错误 500 访问 /dqs/query/hrportal/select 时出现问题。原因:服务器错误原因:com.fmr.ctg.hr.hrdh.dqs.execptions.DQSException:在 com.fmr.ctg.hr.hrdh.dqs.rest.QueryService.determineStart 处开始应该是一个数值 >= 0 (QueryService.java:245) 在 com.fmr.ctg.hr.hrdh.dqs.rest.QueryService.selectAll(QueryService.java:74) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
...
浏览器中没有任何堆栈跟踪日志的预期错误消息:
开始应该是一个数值 >= 0
任何指针将不胜感激。
非常感谢!