Hi,
I'm wondering why sometimes there exist informative error messages but
it doesn't seem easy to catch them. Here's a concrete (and
real-world-inspired) use case:
? m = feval("haha")
haha: function not found
That's exactly the right error message! However, now I try to retrieve
that programmatically:
? catch m = feval("haha")
? eval errmsg($error)
Datenfehler # ( = data error)
This is much less useful. Could the precise message be pushed through to
the error? Hm, I guess there aren't that many formally encoded error
types...
And BTW, here's a different and a little ironic example:
? m = I(2,3,4)
I: zuviele Argumente # (= too many arguments)
? catch m = I(2,3,4)
I: zuviele Argumente
? eval errmsg($error)
Befehl hat zu wenige Argumente # (= command with too *few* arguments)
So there's a nice contradiction... In addition, I see that even the line
with 'catch' does print out the error, whereas I expected it to be
silent in that case, no?
(I also thought that maybe my German translation was simply wrong and
switched to English. I still got "Command has insufficient arguments"
for the errmsg.)
This is with the March 30th snapshot on Win10.
thanks
sven