我有一个锁定管理器作为实现InvocationHandler
,
我希望这个锁管理器将异常(例如DeadLockException
)抛出到调用此代理对象的对象,并且我希望调用者能够捕获此异常,
这可能在Java中吗?如果它不是使它以某种方式工作的最佳方法
答案 0 :(得分:2)
如果您实现InvocationHandler,则覆盖以下方法:
@Override
Object invoke(
Object proxy,
Method method,
Object[] args ) throws Throwable {
throw new DeadLockException();
}
如您所见,此方法的签名显示可能抛出Throwable Exception。 调用者中的一个简单的try-catch就足够了。
在死锁检测中你想要什么逻辑?
死锁是指资源分配,那么它们在哪里?
答案 1 :(得分:0)
听起来你没有在代理实现的接口上的相关方法上声明DeadLockException。你的调用者不知道它将给出的接口实现将是一个代理,它只是在界面中的内容。