Project: JDT
Bug 116223 [refactoring] ProcessorBasedRefactoring does not handle exceptions thrown by participants
Reported: 2005-11-14 09:20:13 | Status: resolved fixed

I20051108-1011 ProcessorBasedRefactoring protects itself against participants that throw an exception in createChange(..). However, it does not catch execptions thrown in initialize(..) or in checkConditions(..). We had a case where initialize(..) threw a ClassCastException, which generated a wrong error message (participant does not extend required type). I think we should protect all call backs and disable participants that throw a RuntimeException.

Files changed in fix:
org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantExtensionPoint.java org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorBasedRefactoring.java org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ResourceOperationChecker.java org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.java