 WARNING - Maple Help

WARNING

write a warning message to the current output stream Calling Sequence WARNING(msgString, msgParam1, msgParam2, ...) Parameters

 msgString - text of warning message msgParam[i] - parameters to substitute into msgString Description

 • A call to the WARNING function causes a warning to be produced on the current output stream. The message is displayed preceded by the string "Warning,".
 • If warnings are turned off, via interface(warnlevel=0), the warning will not be produced, and the call to WARNING will have no effect.
 • The msgString is a string value which is independent of any parameters that are to be part of the message (for instance, the string complaining about an unassigned variable must not mention the variable by name). The string may however contain numbered parameter locations, of the form '%n' when n is a decimal integer.
 • The msgParams are one or more arbitrary Maple objects that will be substituted into numbered parameter locations in the msgString.
 • In the msgString, numbered parameters are used for placeholders for actual values or names.  For example, the warning "f has a 2nd argument, x, which is missing" is specified by the msgString "%1 has a %-2 argument, %3, which is missing", and the msgParams f, 2, and x.
 • Each numbered parameter consists of the percent symbol, "%", optionally followed by a minus sign, "-", followed by one or more digits, making up an integer n. At message display time, the nth msgParam will be substituted for the numbered parameter.
 • A numbered parameter of the form %n will display the nth msgParam in lprint notation.
 • A numbered parameter of the form %-n will display the nth msgParam, assumed to be a Maple integer, in ordinal form. For example, the value 2 is displayed as "2nd".
 • The special parameter, %0, will display all the msgParams, separated by a comma and space. Examples

 > f := proc(x) if x<0 then WARNING("result is complex") end if; sqrt(x) end proc;
 ${f}{≔}{\mathbf{proc}}\left({x}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{if}}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{x}{<}{0}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{then}}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{WARNING}}{}\left({"result is complex"}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end if}}{;}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{sqrt}}{}\left({x}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{end proc}}$ (1)
 > $f\left(-3\right)$
 ${I}{}\sqrt{{3}}$ (2)
 > $\mathrm{interface}\left(\mathrm{warnlevel}=0\right)$
 ${0}$ (3)
 > $f\left(-4\right)$
 ${2}{}{I}$ (4)
 > $\mathrm{interface}\left(\mathrm{warnlevel}=4\right)$
 ${0}$ (5)
 > $\mathrm{WARNING}\left("%1 CPU seconds used",\mathrm{time}\left(\right)\right)$