In einer „klassischen“ Wicket Anwendung, wo Seiten und Komponenten von Code instanziiert werden in Konstrukteuren und initializers Sie wahrscheinlich Try-Catch-Blöcke manuell zu jeder hinzuzufügen haben und alle möglichen Konstruktoraufruf. Wicket ist kein verwalteter Rahmen, das heißt, es gibt keine zentrale Komponentenfabrik, die durch solche Funktionalität dekoriert werden könnte. Das bedeutet jedoch nicht, dass Sie eine solche Komponentenfabrik nicht selbst erstellen können. In einer CMS-ähnlichen Anwendung, die wir seit 2006 entwickeln, werden alle Wicket-Komponenten von Erstellern instanziiert, die selbst aus xml- oder json-Dokumenten erstellt werden (so wird das gesamte Layout und die Konfiguration der App externalisiert und die Wicket-Komponenten sind) nur kleine Baukästen, die wie Legosteine zusammengemischt werden können - also weiß ich, dass ein solcher Ansatz funktioniert und gut funktioniert. In unserem Fall hat jede Builder-Methode, die eine Komponente erstellt, einen try-catch-Block, der stattdessen ein leeres Label erstellt, wenn eine RuntimeException auftritt.
Ein Problem, das mir sofort in den Sinn kommt: Nicht alles, was im HTML-Dokument gerendert wird, ist auch für den Benutzer sichtbar. Zum Beispiel hatte ich ein paar Fälle, wo ich JavaScript im laufenden Betrieb konstruieren musste und das Skript innerhalb von Wickets erstellen musste, weil ich Zugriff auf die Markup-IDs benötigte, die Wicket generiert. Was passiert, wenn das Rendern einer solchen Komponente fehlschlägt? Auch wenn das Rendern einer Komponente fehlschlägt, könnten Sie Stilinformationen von dieser Komponente verlieren und Ihre Fehlermeldung könnte woanders enden und nicht dort, wo die korrekt gerenderte Komponente wäre (Das Wicket-Modal-Fenster kommt mir in den Sinn) –
Zur Verdeutlichung: Der obige Kommentar war in Bezug auf die Idee, eine "InternalErrorComponent" -Komponente anstelle der Komponente zu rendern, die nicht gerendert werden konnte. –