Ieder fragment dat u definieert vereist een typespecificatie. Het type geeft aan of het fragment in de doelmethode wordt uitgevoerd. Een probe kan meer dan één fragment bevatten, maar niet meer dan één fragment van van een bepaald type.
Fragmenttype | Intern of extern | Beschrijving |
---|---|---|
entry | Methode | entry-fragmenten worden uitgevoerd zodra de methode actief wordt. entry-fragmenten worden niet uitgevoerd voor methoden die in de klasse zijn ingevoegd door Probekit. |
exit | Methode | exit-fragmenten worden uitgevoerd als de methode wordt afgesloten: bij en normale afsluiting, als de methode een uitzondering verwerpt of als een verworpen uitzondering gevolgen heeft voor lagere niveaus. exit-fragmenten worden niet uitgevoerd voor methoden die in de klasse zijn ingevoegd door Probekit. |
catch | Methode | catch-fragmenten worden uitgevoerd aan het begin van een catch-clausule in de methode of aan het begin van een finally-clausule die wordt uitgevoerd als gevolg van een uitzondering. |
staticInitializer | Methode | staticInitializer-fragmenten worden binnen de klasseninitialisatie van alle gecontroleerde klassen uitgevoerd. Als de klasse nog geen statische initialisatie heeft, wordt er een gemaakt. Raadpleeg Het probefragmenttype staticInitializer voor meer informatie. |
executableUnit | Methode | executableUnit-fragmenten worden uitgevoerd voor uitvoerbare eenheden in methoden die overeenkomen met het doel en de filterinstellingen en waarvoor broncode beschikbaar is. Als de methode geen bronregelinformatie heeft, lijkt deze één uitvoerbare eenheid te hebben met het nummer nul. Raadpleeg Het probefragmenttype executableUnit voor meer informatie. |
beforeCall | Extern | beforeCall-fragmenten worden in de aanroepende methode uitgevoerd direct voordat de doelmethode wordt aangeroepen. Niet geldig voor interne probes. |
afterCall | Extern | afterCall-fragmenten worden in de aanroepende methode uitgevoerd direct nadat de doelmethode wordt afgesloten. Dit kan door een normale afsluiting gebeuren, maar ook als de doelmethode een uitzondering verwerpt. Niet geldig voor interne probes. |
Een probe kan meerdere fragmenten bevatten die van toepassing zijn op dezelfde locatie in een methode, bijvoorbeeld een entry-fragment en de eerste executableUnit-locatie. Een ander voorbeeld is een catch-fragment en de bijbehorende executableUnit-locatie, omdat catch-clausules voor het afhandelen van uitzonderingen altijd het starten van een uitvoerbare eenheid inhouden. In deze gevallen wordt de executableUnit-code uitgevoerd na de entry- of catch-code in het fragment. Het gevolg is dat entry-fragmenten (als deze aanwezig zijn) altijd eerder worden uitgevoerd dan andere soorten fragmenten.
Het is niet mogelijk om interne en externe fragmenten door elkaar te gebruiken in één probe, maar u kunt wel interne en externe probes opnemen in hetzelfde Probekit-bronbestand (probebestand).
Om een fragmenttype op te geven kiest u Fragment in het structuuroverzicht op de pagina Probes en selecteert u het gewenste type in de lijst Fragmenttype in het bewerkingsvenster.