The debug window sounds great, because now you never can read the whole
error report because the lsl error dialog dont handle line-wrap.
On 2014-01-20 20:57, Justin Clark-Casey wrote:
Hi David. That all sounds great to me. As you've described, these
LSL errors should not be generating internal logged exceptions - the
information should be going out to the error/warning console as
happens on the LL grid.
Time permitting, I'm very happy to review things as you go. From my
perspective, the best approach is to isolate each logical change to an
individual patch (within reason) and put them on a Mantis entry.
Apologies if it sometimes takes me a while to get to them - time is
short at the moment and there are a bunch of other patches to look at
as well.
Best,
Justin
On 18/01/14 22:48, David Rowe wrote:
Hi,
I’ve been looking at script error handling in LSL_Api.cs and propose
to tidy it up.
Currently, LSL script errors are handled in a variety of ways:
- llSay(0, "…"): Says error in public chat, whereas the error should
be shouted on the debug channel (at least for all
the occurrences I’ve checked so far) and displayed in the Script
Warning/Error dialogue box.
- ShoutError("…"): Shouts errors on the debug channel (in accordance
with the LSL documentation). But these errors are
not displayed in the viewer’s Script Warning/Error dialogue box.
- LSLError("…"): throw new ScriptException("LSL Runtime Error: " +
msg); Displays a .NET exception in both the viewer’s
Script Warning/Error dialogue box and the OpenSim console.
- Deprecated("…"): throw new ScriptException("Command deprecated: " +
command); Displays a .NET exception in both the
viewer’s Script Warning/Error dialogue box and the OpenSim console.
- NotImplemented("…"): throw new NotImplementedException("Command not
implemented: " + command); Displays a .NET
exception in both the viewer’s Script Warning/Error dialogue box and
the OpenSim console.
- throw new Exception(…): Displays a .NET exception in both the
viewer’s Script Warning/Error dialogue box and the
OpenSim console.
- throw new ScriptException(…): Displays a .NET exception script in
both the viewer’s Script Warning/Error dialogue box
and the OpenSim console.
What I propose to do is consolidate things down to use just three
methods (that don’t produce .NET exceptions):
- ShoutError() Shout the error details on the
debug channel.
- Deprecated() Shout "Command is deprecated" on the
debug channel.
- NotImplemented() Shout "Command is not implemented" on the
debug channel.
And make all three also display the error in the viewer's Script
Warning/Error dialogue box.
Plus miscellaneous tidy ups such as …
- Don’t included the LSL method’s name in errors shouted on the debug
channel; the LSL method’s name is already included
in the “name” parameter of the message shouted.
- Add Deprecated() calls to deprecated LSL methods that currently do
nothing or just sleep with no user feedback.
And replicate this approach in OSSL_Api.cs which has similar issues.
If people think that this is a good idea, I’ll create a Mantis entry
and proceed. Anyone interested in reviewing things
as I go?
David
SL/OSgrid: Strachan Ofarrel
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev