From: Strife Onizuka
In a normal system an error event would be an interrupt.
The problem with raising an event is that it would be added to the end of the event que. So it would be practically impossible to catch the error and make a custom handler for it.
Ah no, sorry, I wasn't at all clear about what I meant, my fault. And you're absolutely right.
I wasn't proposing real synchronous exception handling, ie. which would allow an excessively long llSay to trigger a handler which could deal with the issue directly BEFORE THE llSay COMPLETES --- that would of course be nice and extremely effective, but probably hard to graft on to LSL transparently, and totally unwarranted in this very simple little case.
Instead, I was suggesting an event-driven replacement for the need to check any llSay overflow return status if such a return value is added, so that the developer can fix her overflowing code. It should trigger an event as well. There are few things worse than code that is a great big long sequence of:
status = function_call(blah);
if (status == WHATEVER_ERROR_CODE)
{
<error handling>
}
because the error handling is always longer than the main-path function calls, and hence you can't see the wood for all the leaves. It can be appropriate in some cases (and that's why a return code isn't a bad idea), but you certainly don't want to handle the situation in line all the time. Let me rephrase it: if an error exit is added, then also send us an event about it if we have the event handler for it in the script.
Synchrony doesn't matter here, because remember that we're comparing this against a simple overflow message being issued to chat. You can't trigger on that directly and synchronously either.

And it's much more flexible
for developers than turning some UI flag on and off merely to control whether you see the messages. Assuming that the event were supplied with some useful parameters, you could have your script identify the source of the overflow very precisely and maybe even supply the chopped-off data itself. The UI switch is still useful to silence other people's overflowing code, but it gives developers very little compared to an event, and it lacks resolution anyway (eg. you want to turn off other people's messes but not your own, since you can fix your own overflows.) An event-based approached is a natural here.