diff -r 09ac82fafd79 -r f58fc9f575e3 jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java --- a/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java Tue Jul 08 16:40:38 2008 +0400 +++ b/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java Wed Jul 09 15:25:38 2008 +0400 @@ -298,7 +298,7 @@ oldL = (EventListener[])MethodUtil.invoke(m, oldInstance, new Object[]{}); newL = (EventListener[])MethodUtil.invoke(m, newInstance, new Object[]{}); } - catch (Throwable e2) { + catch (Exception e2) { try { Method m = type.getMethod("getListeners", new Class[]{Class.class}); oldL = (EventListener[])MethodUtil.invoke(m, oldInstance, new Object[]{listenerType});