+1 for throwing exceptions in script services and using #try to catch them if we want.
Thanks, Marius On Thu, Mar 31, 2016 at 3:17 PM, Vincent Massol <vinc...@massol.net> wrote: > Guys, I’d like that we progress on this. > > I didn’t get any agreement or disagreement to this proposal. > > Any take? > > Thanks > -Vincent > > > > On 18 Jan 2016, at 11:03, vinc...@massol.net wrote: > > > > Hi devs, > > > > After a lot of thinking and experimentation (see the thread’s details), > I have found that this first proposal is not a good idea. I’m thus > proposing to replace it with the following best practice: > > > > * Let our script services generate exceptions > > * If the velocity scripts with to handle the exceptions, then they > should use the #try() directive. If they don’t want to, they don’t have to > do anything since the MacroTransformation or the template (contentvars.vm > for example) will catch it and display it to the user. > > > > More precisely I’m proposing that: > > > > * Existing Script APIs in Java should not be modified as that would > break backward compatibility. New signatures can be added and old one > deprecated and moved to the legacy modules. After new signatures have been > introduced, existing velocity scripts can be updated to use the new > signatures and to use the #try directive if needed. > > * New Script APIs must use the new best practices (if agreed :)), i.e. > throw Exceptions, and new velocity scripts must use the #try() directive if > they need to handle exceptions. > > > > WDYT? > > > > Thanks > > -Vincent > > > > > > On 14 Jan 2016 at 17:51:04, vinc...@massol.net (vinc...@massol.net > (mailto:vinc...@massol.net)) wrote: > > > > > Hi devs, > > > > > > Right now our strategy is for script services and script APIs in > general to catch exceptions, store them and offer a getLastError() method > to get them (see > http://extensions.xwiki.org/xwiki/bin/view/Extension/Script+Module#HBestPractices > ) > > > > > > However it would be much nicer to: > > > * Let our script services generate exceptions > > > * Offer a velocity script service to get the last exception raised by > a java call from velocity > > > * Implement this uberspector to catch the exceptions and to set them > in the execution context > > > > > > That should be quite easy to implement IMO. > > > > > > WDYT? > > > > > > Thanks > > > -Vincent > > > > > > PS: This is http://jira.xwiki.org/browse/XWIKI-2374 > > _______________________________________________ > devs mailing list > devs@xwiki.org > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs