Another common technique is just to count. 
if `: word count `0'' != 1 error 198 
Note that Stata's definition of words includes explicitly quoted strings
as single words. 
If a program took a string message and a number value as in 
program nathan 
	version 11 
	args message answer 
	di as txt "`message' " as res `answer' 
end 
nathan "the answer is" 42 
-word count `0'- would still count the number of arguments to be 2. 
Nick 
[email protected] 
Nick Cox
I often do something like this 
program example 
	version 10.1 
	args factor garbage 
	if "`factor'" == "" | "`garbage'" != "" { 
		error 198 
	} 
You can approach this in other ways, but I find this to be among the
most transparent. 
Nick 
[email protected] 
Nathan Danneman
I have written a program, which utilizes the args command.  The
program analyzes regression results, and requires the user to input a
single constant.  Is there a way to generate an error message if the
user inputs an incorrect number of arguments (either none, or more
than one)?
Here is what the program looks like...
capture program drop example
program example
	version 10.1
	args factor
** I would like to input a line here that would do something like (if
number of args != 1, then error "wrong number of arguments")
...
...
end
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/