[Scilab-users] imprecise error messages

Samuel Gougeon sgougeon at free.fr
Thu Feb 6 23:17:37 CET 2020


Le 06/02/2020 à 22:55, Federico Miyara a écrit :
>
> Dear All,
>
> I'm trying to use the error messages available at 
> https://help.scilab.org/docs/6.0.2/en_US/error_table.html
>
> However, I cannot find one that describes precisely what is wrong.
>
> My argument is any scalar, vector, matrix or N-D array of real or 
> complex numbers.
>
> If I use
>
>    "%s: Argument #%d: Decimal or complex number expected.\n"
>
> it may convey the idea that only scalars are admissible. I think the 
> word "number" jeopardizes the message. It would be better if the word 
> "type" were clearly mentioned, for instance "Wrong input type: %d 
> expected.\n"


Yes, but to me, "input" is useless, since only input types are testable. 
In addition, the argument's number must appear. So yes, something like

"%s: Argument #%d: Decimal or complex type expected.\n"

would be better. A still more open message is possible and already listed:

"%s: Argument #%d: %s expected.\n"

>
> If I use
>
>    "%s: Argument #%d: Hypermatrix expected.\n"
>
> it may be interpreted as if, for instance, a polynomial hypermatrix 
> would be acceptable.

Yes, or of any other type, since this message only informs about the 
size / format, not about the data type. It is is in the same messages 
section "Checking container's dimension and sizes" than other messages 
about the shape / array size.


>
> Testing abs() on a string yields
>
>    --> abs("hello")
>    in builtin                abs
>
>    Function not defined for given argument type(s),
>      check arguments or define function %c_abs for overloading.
>
> This gives a hint where is the problem, but does not indicate what 
> type is expected, which would be more useful.


But impossible. An error message is not aimed to replace the help page. 
There may be many possibilities.
If in the function that you write you want to display the documented 
list of available syntaxes for this function, just before the proper 
error message, then disp_usage() 
<http://sgougeon.free.fr/scilab/help/uman/scilab_en_US_help/disp_usage.html> 
is made for you, available in the uman package: 
https://atoms.scilab.org/toolboxes/uman
atomsInstall uman

Samuel


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20200206/8e590c9a/attachment.htm>


More information about the users mailing list