4

我有一个锁管理器作为实现的代理类InvocationHandler

我希望这个锁管理器向DeadLockException调用这个代理对象的对象抛出异常(例如),并且我希望调用者能够捕获这个异常,

这在 Java 中可能吗?如果这不是让它以某种方式工作的最佳方法是什么

4

2 回答 2

2

如果您实现InvocationHandler,则覆盖以下方法:

@Override
Object invoke(
   Object   proxy,
   Method   method,
   Object[] args ) throws Throwable {
   throw new DeadLockException();
}

如您所见,此方法的签名表明可能会抛出 Throwable Exception。调用者中的一个简单的 try-catch 就足够了。

在死锁检测中需要什么逻辑?

死锁指的是资源分配,那么它们在哪里呢?

于 2012-11-12T07:12:45.747 回答
0

听起来您没有在代理实现的接口上的相关方法上声明 DeadLockException。你的调用者不知道它将被赋予的接口实现将是一个代理,它只是在接口中进行。

于 2013-11-29T16:46:37.140 回答