Warning - Silent Failure of Scripts

Kay C Lan lan.kc.macmail at gmail.com
Mon May 19 21:34:07 EDT 2014

On Sat, May 17, 2014 at 7:32 AM, Richard Gaskin
<ambassador at fourthworld.com> wrote:
> Whenever you find the engine will compile a script that contains syntax
> errors without complaining, please file a bug report.

As I happened to be skimming through the User Guide in search of
another answer I discovered this Caution (which may actually be a
Warning) that scripts may fail silently if the Variable Watcher is
open. It's on page 52 of the 6.6.1 GM version:


Variable Watcher: Opens the Variable Watcher window, which you use to
keep track of the value of variables during debugging. When the
debugger is not open, the variable watcher shows the value of global

Caution: Warning: this feature will cause your scripts to fail
silently instead of giving an error message in the event LiveCode
encounters an error.

So I just did a quick check, New Stack, added a button:

on mouseUp
  put 0 into x
  put 2 into y
  put y/x into z
end mouseUp

With Script Debug Mode turned On and the Variables window Open, when I
step through the script and get to line 5, the Errors window is
automatically bought forward with the following:

button "Button": execution error at line 8 (Operators /: divide by zero), char 8

With Script Debug Mode turned Off and the Variables window Open, when
I click the button I get the Errors dialog box pop up with:

Type    Operators /: divide by zero
Object  Button
Line     put y/x into z
Hint     mousUp

I've raised Bug #12450 which is about errors in the User Guide as the
Development Menu no longer has Variable Watcher as a menu item - so
this is reference to earlier days when the Variable Watcher was a
separate window (stack). The Bug Report also questions whether the
Caution (or Warning?) is still valid. Was the problem solved when the
Variable Watcher and Debugger where combined?

If anyone does notice scripts failing silently it may be worth noting
the combination of Script Debug Mode On or Off and which Tab (Errors,
Variables, Documentation, Breakpoints, Search Results) was selected at
the time and probably most importantly, what kind of error was being
ignored. That could then be included with #12450.

More information about the Use-livecode mailing list