MCI displays a message box and throw a stopping error when it fails due to bad input.
This is inconsistent with how the rest of the procedures behave, so it should be corrected.
I have reproduced this in FMSLogo 7.7.0, but the behavior has existed since at least MSWLogo 6.5b.
How Reproducible:
Every Time
Steps to Reproduce:
MCI [bad input
What Happens:
You see a dialog box that says "The driver cannot recognize the specified command]", then the commander prints "Stopping...", which indicates that a stop error was thrown.
Expected Result:
FMSLogo does not display a message box. Instead it throws a "doesn't like" error. Ideally, the message would continue to include the hint as what's wrong "The driver cannot recognize the specified command". Ideally it would also be a recoverable error, using the ERRACT mechanism.
This is fixed by [r5425]. The fix will be available in FMSLogo 8.0.0.
Since the error message comes from the MCI subsystem within windows, not FMSLogo, it wasn't practical to throw a "doesn't like" error. By the time the error message is known, FMSLogo has already made two calls to the underlying OS and so it cannot guarantee that there are no side-effects nor that the error is because the input is bad. Instead, a new (non-recoverable) error code is thrown.
Related
Commit: [r5425]