我一直在试图找出JVM如何处理RMI远程方法中的运行时异常。我有一个远程方法,包含以下两个方法:
doSomething(
print "doSomething thread id " + Thread.currentThread.getId()
)
fail(){
print "fail thread id " + Thread.currentThread.getId()
throw new RunTimeException
}
我看到的行为是,即使调用方法fail(),抛出运行时异常的线程仍然没有终止。示例输出为:
fail thread id 16
stacktrace
...
doSomething thread id 16
doSomething thread id 16
最佳答案
异常被捕获。调用者将得到一个 ServerException,其中嵌套了 RuntimeException 作为原因。执行线程不会终止。
关于java - JVM如何处理RMI远程方法中的运行时异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944309/