This indeed looks wrong.
--
Don't drink and drive. You might hit a bump and spill your beer.
/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
:echoerr generates an error (which, inside a try block, is handled as an
exception). Depending on where the error happens, it may cause an abort
of whatever it is that it is wrapped in.
In the present case, the "Echoe" exception is not caught, so it will
propagate outside the try block we see here, to be caught by an outside
try block if any, or if there isn't, it may (I suppose) propagate as an
error, causing an abort of some script or function around this try block.
Best regards,
Tony.
--
Schlattwhapper, n.:
The window shade that allows itself to be pulled down,
hesitates for a second, then snaps up in your face.
-- Rich Hall, "Sniglets"
Vimscripts do not normally terminate on errors, and that is the problem
here; it does, when it shouldn't. There is no mapping to terminate, no
function, no surrounding try/catch block into which to propagate the
error. It should just be ignored and the script continue, just as if you
issued the echoe followed the the echom on the commandline.
Ben.