我有代码抛出
reactor.core.Exceptions$RetryExhaustedException
,我想捕获该特定异常。
但是,这个
RetryExhaustedException
不是一个公共类,它是公共reactor.core.Exceptions类上的包私有静态类,所以我不能只是将它放在catch语句中。由于异常扩展了IllegalStateException
,我可以捕获它,但这是一个非常广泛的异常,我不希望一般处理。
(请注意,我不是谈论已弃用的(公共)类
reactor.retry.RetryExhaustedException
。这不是同一个例外。)
我认为你可以这样做:
try {
// Your reactive operations
} catch (IllegalStateException e) {
if (e.getClass().getName().equals("reactor.core.Exceptions$RetryExhaustedException")) {
// Handle the RetryExhaustedException case
} else {
throw e; // rethrow the exception if it's not RetryExhaustedException
}
}
但这并不那么优雅。 🤢