InvocationHandler抛出异常

时间:2012-11-12 06:56:24

标签: java try-catch invocation

我有一个锁定管理器作为实现InvocationHandler

的代理类

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

答案 1 :(得分:0)

听起来你没有在代理实现的接口上的相关方法上声明DeadLockException。你的调用者不知道它将给出的接口实现将是一个代理,它只是在界面中的内容。