java try catch块无法使用反射进行工作-不知道为什么,也可能是线程错误

|| 在netbeans rcp中编写系统-不确定是否重要,我只是不信任rcp 我们正在系统上接近关键时间,并且不断发生以下错误(有时会在10分钟后发生,有时会运行2天,然后再发生,这使我相信这可能是线程错误) 我们有一个实现可运行的套接字读取器类-这是代码示例
@Override
public void run() {
    while (!Thread.interrupted()) {
        try {
           /*
            * can\'t display actual code
            * reads data through socket and passes stream to a new handler class 
            * which uses reflection to create new object based off socket stream 
            * (none of this happens in a separate thread)
            * (we\'re not holding a reference to the handler class - a new one is
            * -created every iteration) 
            *
            * at some point during the creation of this object, we get a socket 
            * closed exception happening at SocketInputStream.socketRead()
            */
        } catch (Exception ex) {
            cleanup();
        }
    }
}
我期望发生的是套接字异常应仅由catch块捕获并执行清除 最终发生的事情是我关闭了java.net.SocketException套接字,从而获得了可见的堆栈跟踪(在netbeans未捕获的异常窗口中弹出并在控制台中显示)-由于客户要求,我无法发布堆栈跟踪 另一个奇怪的是,在实际的套接字输入处理程序类中,我们具有以下方法(这是实际上从中引发异常的方法)
public Abstract________ new________(Class<? extends Abstract________> clazz, 
            DataInput input) {
    ...
    try {
        // reflection code here
    } catch (Exception ex) {
        LOG.error(\"...\");
        throw new RuntimeException(ex);
    }
    ...
} 
如果我尝试在catch块之后手动抛出java.net.SocketException,则异常读取java.lang.RuntimeException:java.net.SocketException异常:套接字关闭 但是我们随机收到的堆栈跟踪只是说java.net.SocketException:套接字已关闭 这使我相信,在我们的套接字流处理类中,它甚至没有捕获到开始的异常。 是否有人对为什么会发生发生有任何意见??? 也-非常抱歉,我无法发布实际的代码,我并不想变得晦涩难懂 到目前为止,我想知道的一件事-我对反射有所了解,但在很大程度上没有-当我手动抛出异常时,它总是被try catch块捕获-如果反射中的某个异常抛出了异常有没有什么办法可以打破“试捕合同”-我不知道为什么会这样,但我的意思是,我确实不确定并在这一点上抓住稻草 我已获得发布已编辑堆栈跟踪的权限 在MessageReader类中没有单独的线程-newMessage方法是捕获异常的地方,被包装到RuntimeException中并抛出该异常-____Reader是带有while循环的套接字读取器 两种方法都显示在堆栈跟踪中 不确定这是否有帮助     
已邀请:
引发的错误(java.lang.Error)可能绕过了catch块(仅捕获Exception)。尝试捕获错误并打印出所需的任何调试语句。不要忘记从catch块中抛出错误。 也可能是在catch块中引发了异常。     
我想到了两种可能性: 异常在堆栈跟踪中被捕获得更高 或者,堆栈跟踪实际上不包含您粘贴的任何方法     

要回复问题请先登录注册