报错:Operation not allowed after ResultSet close搞不定,还是随机报错

运行的时候有时候正常,有时候报错,有时候浏览器报控制台不报,有时候控制台报。
每次打开显示正常和Status Code: 500 Internal Server Error头大
新手上路:出错时浏览器报错如图

img


myeclipse控制台没有信息上报错位置:

img


```java
public List<JSONObject> selectbyconditions(String table, JSONObject json) {
        // TODO 自动生成的方法存根
        String string ="";
        for(Map.Entry<String,Object> entry : json.entrySet()){
            String key = entry.getKey();
            Object value = entry.getValue();
            string=string+key+"='"+value+"' and ";
        }
        string=string.substring(0, string.length()-4);
            sql="select * from "+table+" where "+string;
        List<JSONObject> list=new ArrayList<JSONObject>();
        try {
            psta=DBInstance.getConnection(tablename).prepareStatement(sql);    
            ResultSet rs=psta.executeQuery();
            ResultSetMetaData md=rs.getMetaData();
            int mdcount=md.getColumnCount();
            while(rs.next()){    
                JSONObject res = new JSONObject();
                for(int a=1;a<=mdcount;a++){
                    String cname=md.getColumnName(a);                 
                    if(rs.getObject(a)==null){
                        res.put(cname, "");
                    }else if("name".equals(cname)){
                        List<String> list1 = Arrays.asList(rs.getObject(a).toString().split("、"));
                        for(int m=0;m<list1.size();m++){
                            res.put(list1.get(m), "on");
                        }
                    }else{
                        if("DATE".equals(md.getColumnTypeName(a))){
                        res.put(cname, Datagetstring.datagetstring(rs.getDate(a)));    
                        }else{
                        res.put(cname, rs.getObject(a));
                        }
                    }    
                }                
                list.add(res);
            }
        } catch (SQLException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }finally{
            DBInstance.close(rs, psta);
        }
        return list;
    }

```

控制台有抛出异常信息吗?这几张图看不出哪里有问题

想啥呢,这主要是代码逻辑上出现问题,又不是书写出问题,怎么可能给你红叉提示,500错误很多都是参数上的错误,上面给你提示了是空指针异常,仔细检查接受的参数是不是空值或者参数类型有问题之类的