Is there a better way to throw this exception? (original) (raw)
Weijun Wang weijun.wang at oracle.com
Thu Jun 6 09:42:53 UTC 2013
- Previous message: Backport CR 7132378: fix for FutureTask.set() race
- Next message: Is there a better way to throw this exception?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi All
I have a method that could throw two kinds of checked exceptions and possibly other unchecked ones:
void once() throws One, Two
Now I have a wrapper method that calls once() for multiple times, and want to throw the first exception if all fails. Now it looks like
void multiple() throws One, Two {
Exception saved = null;
for (all chances) {
try {
once();
return;
} catch (Exception e) {
if (saved != null) saved = e;
}
}
if (saved instanceof One) {
throw (One)saved;
} else if (saved instanceof One) {
throw (Two)saved;
} else if (saved instanceof RuntimeException) {
throw (RuntimeException)saved;
} else {
// Not likely, but I've already wrote so many lines.
throw new RuntimeException(saved);
}
}
Is there any way I can make it shorter?
Thanks Max
- Previous message: Backport CR 7132378: fix for FutureTask.set() race
- Next message: Is there a better way to throw this exception?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]