Dear All,

I'm trying to cast an error message for a function

The test and message are

if argn(2)<>1
   t1 = "%s: Wrong number of input arguments: %d expected.\n"
   t2 = "Si"
   error(msprintf(gettext(t1),t2,1));
end

The function has only one argument, so if invoked with 0 or more than one argument, the message should be the same. With 0 arguments I get:


--> y = Si()

   0.
at line    26 of function Si ( D:\work_scilab\Si.sci line 26 )

Si: Wrong number of input arguments: 1 expected.


This is the correct and expected message. However, with 2 arguments I get


--> y = Si(1,2)

Wrong number of input arguments.


This error seems to have been trapped before my test, the execution is halted and my message doesn't show. I've also tested the function wavwrite, which requires 2 or 3 arguments. With 0 or 1 the message is the expected one, but with 4 or more arguments, I get the same result as in my example.

Seems as if less arguments are handled by the custom error handler, but more than required is handled by sort of a parser.

I think this behavior contradicts the facility of customizing error messages.

Regards,

Federico Miyara

_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to