Az elindított program hibáinak kezelése

Ha saját indítási konfiguráció típust adott meg, akkor valószínűleg kezelni kívánja majd a program futtatása során felmerülő hibákat és egyéb állapotinformációkat. Riaszthatja például a felhasználót, ha az indítás során adott típusú hibák következnek be vagy információs üzeneteket küldhet a program adott állapotváltozásaikor. Mivel hasznos lehet az UI kezelők és központi funkciókat elválasztani, nem érdemes közvetlen referenciát használni az indítási átruházásról az állapotkezelési osztályokra.

A problémát a org.eclipse.debug.core.statusHandlers kiterjesztési pont címzi meg. Ennek segítségével hozzárendelhet egy állapotkezelőt adott állapotkódhoz. A kiterjesztési pont segítségével megadhatja az összes lehetséges állapotot és hibakódot az indítási átruházásban és az alap osztályokban, mialatt bejegyzi az egyedi kezelőket a különböző állapotkódokhoz másik bedolgozóból.

A kiterjesztési pont nem jelöl ki társítást az állapotkezelő és az indítási konfiguráció között. Az indítási átruházás megvalósítása felismeri a hibákat, megkeresi a megfelelő állapotkezelőt és meg is hívja. A kiterjesztés biztosít egy nyilvántartást, így az állapotkezelő megtalálható adott állapotkódokhoz. A DebugPlugin elem egy segédmetódust biztosít egy adott állapotkezelő megszerzéséhez.

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

Az állapotkezelőknek meg kell valósítaniuk az IStatusHandler elemet. Az állapotkezelési osztály a kiterjesztés-definícióban van megadva a társított állapotkóddal és a bedolgozóval együtt, amely várhatóan előállítja az állapotkódokat.

Az alábbi leírónyelv bemutatja, hogy a Java eszközök hogyan deklarálják az állapotkezelőket:

<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>