> On 16 Oct 2019, at 16:45, Kevin Cozens <ke...@ve3syb.ca> wrote:
> 
> On 2019-10-14 11:53 p.m., dz wrote:
>> Why don't you just have the default action of the  " failed " call invoke a
>> standard user defined  error state.
> 
> Interesting idea. One aspect of that is that it should be able to know which 
> state the script was in prior to an error being triggered as it might not be 
> the default one for those scripters who know you can have other states.

As already mentioned, the problem with just returning default values is you 
can't necessarily test these for an error, as some methods don't return 
anything at all, while others may return empty lists/strings during normal 
operation. There's also the possibility of there being scripts that were 
written in the expectation of failing if a function isn't enabled, so changing 
the behaviour means they'll suddenly continue when they weren't supposed to, 
potentially resulting in unexpected/unpredictable behaviour.


I wonder though, what if a function were added so we could control the 
behaviour?

For example, osslIgnoreDisallowedFunctions(integer ignore), if set to TRUE, all 
errors due to functions being disallowed would be suppressed, and these 
functions would then return a default value instead, so your script can 
continue. The default behaviour (FALSE) would be the current behaviour of 
shouting an error and failing with no return.

It doesn't solve the problem that you can't really tell if the function failed 
or just returned a normal empty value, but at least this way the change in 
behaviour is one specifically requested by the script author, who can take 
additional steps to handle possible empty returns, either that or they just 
explicitly don't care and want the errors to go away. Either way this is only a 
change in behaviour if the scripter asked for it.

This option would also makes it possible to ignore the errors for some 
functions but not others, by ignoring before the function call, then 
re-enabling afterwards. It would presumably require a new script property to 
track this I think?
_______________________________________________
Opensim-dev mailing list
Opensim-dev@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to