Behandle feil fra et program som er startet

Hvis du har definert din egen oppstartskonfigurasjonstype, ønsker du sannsynligvis å behandle feil eller annen statusinformasjon som måtte vises mens programmet kjører. Du ønsker for eksempel kanskje å varsle brukeren når det oppstår bestemte typer feil under en oppstart eller oppgi informasjonsmeldinger for bestemte statusendringer i programmet. Siden det er lurt å holde behandlingen av brukergrensesnitt og kjernefunksjonen atskilt, bør det ikke være direkte referanser mellom oppstartsdelegaten og statusbehandlingsklassene.

Dette problemet behandles av utvidelsespunktet org.eclipse.debug.core.statusHandlers, som gjør det mulig å knytte en statusbehandler til en bestemt statuskode. Ved hjelp av dette utvidelsespunktet kan du definere alle mulige status- og feilkoder i oppstartsdelegaten og kjerneklassene og registrere unike behandlere for de ulike statuskodene fra andre plugin-moduler.

Utvidelsespunktet angir ingen tilknytning mellom en statusbehandler og en oppstartskonfigurasjon. Det er opp til implementeringen av oppstartsdelegaten å oppdage feil og finne og aktivere riktig statusbehandler. Utvidelsen oppgir bare et register slik at det blir funnet statusbehandlere for bestemte statuskoder. DebugPlugin oppgir en funksjonsmetode for innhenting av en bestemt statusbehandler.

IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);

Statusbehandlere må implementere IStatusHandler. Statusbehandlingsklassen angis i utvidelsesdefinisjonen samt den tilknyttede statuskoden og plugin-modulen som skal generere statuskodene.

Kodetypen nedenfor viser hvordan Java-verktøyene deklarerer statusbehandlere:

<extension point = "org.eclipse.debug.core.statusHandlers">
	<statusHandler
		id="org.eclipse.jdt.debug.ui.statusHandler.vmConnectTimeout"
		class="org.eclipse.jdt.internal.debug.ui.launcher.VMConnectTimeoutStatusHandler"
		plugin ="org.eclipse.jdt.launching"
		code="117">
	</statusHandler>	
	...
    </extension>