Hello Martin, thanks for the advise and I looked at it, however, I am not sure how to solve my original idea here.
I can swallow any error thats RuntimeException in onException in IRequestCycleListener, but this leads not to the rest of the page magically working, does it? I mean I can add a new RequestCycleListener with @Override public IRequestHandler onException(RequestCycle cycle, Exception ex) { .. if(ex instanceof RuntimeException) { //swallow it return null; } in it. But as soon as we got a e.g.: throw new RuntimeException("test"); anywhere in the constructor/onInit of any component the error is again 500, with ERROR [org.apache.wicket.DefaultExceptionMapper] Unexpected error occurred java.lang.RuntimeException: test [...] behind it. My idea is that the component - and only that single component - that fails gets "blanked" out as it is not existing while the rest of the page would work regular. Or did I missunderstand anything here? Best, KB ----- Ursprüngliche Mail ----- > Von: "Martin Terra" > An: "dev" <dev@wicket.apache.org> > Gesendet: Montag, 10. Oktober 2022 10:03:34 > Betreff: Re: an idea: wicket-resilient mode? > It has evolved a bit: > https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+1.5#MigrationtoWicket1.5-RequestCycle > > ** > Martin > > ma 10. lokak. 2022 klo 10.11 Martin Terra (martin.te...@koodaripalvelut.com) > kirjoitti: > >> Yes. You can override runtime handling yourself @ >> RequestCycle.onRuntimeException (at least used to be with such name) >> >> In production it is recommended to do so as you best see fit. >> >> ** >> Martin >> >> ma 10. lokak. 2022 klo 9.45 Korbinian Bachl ( >> korbinian.ba...@whiskyworld.de) kirjoitti: >> >>> Hi, >>> >>> we use wicket for many years now and so far it is a great framework to >>> use. One thing that however seems still a bit of a problem is the way >>> wicket handles (runtime) errors. >>> If you look at a page then the content is often composed of 100's of >>> panels and components. >>> As long as every single component is working all is fine... but if just 1 >>> of the many 100 components has any kind of runtime-errors it leads to a 500 >>> server error. >>> So I wondered: what stops us from letting wicket have a "resilient mode"? >>> - A mode where an runtime error in any component doesnt lead to the error >>> beeing done as a 500 but instead only let this single component/panel >>> silently fail (by not outputting it - as if it would be .visible(false)) >>> and do this gracefully in the background? >>> While wicket doing error-logging in the background? >>> All beeing done by having a setting to let wicket be gracefully/resilient >>> in deploymode? >>> >>> What do you think about this approach? >>> >>> Best, >>> >>> Korbinian >>> >>> >>>