日期:2014-05-17  浏览次数:20699 次

jsp页面未加载完毕被关闭,抛java.net.SocketException: Connection reset by peer: socket write
系统菜单点击过快会抛如下异常:
java.net.SocketException: Connection reset by peer: socket write error
原因:jsp页面正在加载,未加载完全,第二个菜单已经点击了,把第一个菜单强制关闭了。
不影响程序运行,但异常日志会比较多,无法捕获。
这种情况大伙儿遇到过吗?怎么解决啊?


贴上main.jsp部分代码:
 function findPanel(id)
{
var msg = '';
try{
//if(cid!=id){
Ext.Ajax.request({
params:{
id:id
},
url:'${pageContext.request.contextPath}/xtzy/getNode!getChildrenByParentId.action?',
success : function(response, options) {
//alert(response.responseText);
try{
var o = Ext.decode(response.responseText);
mainPanel.removeAll();
if(o.length){
for(var i = 0; i < o.length; i++){
addTabPanel(o[i].id,o[i].text,o[i].href);
}
mainPanel.setActiveTab(o[0].id);
document.getElementById('iframe'+o[0].id).src = o[0].href;
}
}catch(e){}
}}
);

//cid = id;
//}
}catch(e){ }
 
怀疑是在:mainPanel.removeAll();处强制清除tab页时抛的异常。但不知道怎么能捕获,请各位大虾赐教。在线等!

------解决方案--------------------
探讨

引用:
我也知道是因为客户端关闭了页面造成的,不影响程序功能。只是这种异常会写到日志中,很多,没办法控制,如果能屏蔽掉也要。到处都try catch 了,还是不行。大家有好的解决方式吗?

此异常发生在tomcat服务器内部
在发生异常的代码处使用
try {
} catch (Exception ex) {
}
肯定能catch到这……