Tcl_WrongNumArgs(3tcl)
Tcl_WrongNumArgs(3) Tcl Library Procedures Tcl_WrongNumArgs(3)
_________________________________________________________________
NAME
Tcl_WrongNumArgs - generate standard error message for wrong
number of arguments
SYNOPSIS
#include <tcl.h>
Tcl_WrongNumArgs(interp, objc, objv, message)
ARGUMENTS
Tcl_Interp interp (in) Interpreter in which
error will be
reported: error mes-
sage gets stored in
its result object.
int objc (in) Number of leading
arguments from objv to
include in error mes-
sage.
Tcl_Obj *const objv[] (in) Arguments to command
that had the wrong
number of arguments.
const char *message (in) Additional error
information to print
after leading argu-
ments from objv. This
typically gives the
acceptable syntax of
the command. This
argument may be NULL.
_________________________________________________________________
DESCRIPTION
Tcl_WrongNumArgs is a utility procedure that is invoked by
command procedures when they discover that they have
received the wrong number of arguments. Tcl_WrongNumArgs
generates a standard error message and stores it in the
result object of interp. The message includes the objc ini-
tial elements of objv plus message. For example, if objv
consists of the values foo and bar, objc is 1, and message
is "fileName count" then interp's result object will be set
to the following string:
wrong # args: should be "foo fileName count"
If objc is 2, the result will be set to the following
string:
wrong # args: should be "foo bar fileName count"
Tcl Last change: 8.0 1
Tcl_WrongNumArgs(3) Tcl Library Procedures Tcl_WrongNumArgs(3)
Objc is usually 1, but may be 2 or more for commands like
string and the Tk widget commands, which use the first argu-
ment as a subcommand.
Some of the objects in the objv array may be abbreviations
for a subcommand. The command Tcl_GetIndexFromObj will con-
vert the abbreviated string object into an indexObject. If
an error occurs in the parsing of the subcommand we would
like to use the full subcommand name rather than the abbre-
viation. If the Tcl_WrongNumArgs command finds any indexOb-
jects in the objv array it will use the full subcommand name
in the error message instead of the abbreviated name that
was originally passed in. Using the above example, let us
assume that bar is actually an abbreviation for barfly and
the object is now an indexObject because it was passed to
Tcl_GetIndexFromObj. In this case the error message would
be:
wrong # args: should be "foo barfly fileName count"
SEE ALSO
Tcl_GetIndexFromObj
KEYWORDS
command, error message, wrong number of arguments
Tcl Last change: 8.0 2
Man(1) output converted with
man2html