warning - Display warning message - MATLAB (original) (raw)
Syntax
Description
warning([msg](#buh8kqb-1-msg))
displays the warning message and sets the warning state for the lastwarn
function. If msg
is empty, warning
resets the warning state for lastwarn
, but does not display any text.
warning([msg](#buh8kqb-1-msg),[A](#mw%5Ff59f3ad9-8f5a-4c18-bbd8-f8136e8de2c8))
displays a message that contains formatting conversion characters, such as those used with the MATLAB® sprintf
function. Each conversion character inmsg
is converted to one of the valuesA
.
warning([warnID](#buh8kqb-1-msgID),___)
attaches a warning identifier to the warning message. You can include any of the input arguments in the previous syntaxes. The identifier enables you to distinguish warnings and to control what happens when MATLAB encounters the warnings.
warning([state](#buh8kqb-1-state))
enables, disables, or displays the state of all warnings.
warning([state](#buh8kqb-1-state),[warnID](#buh8kqb-1-msgID))
acts on the state of a specified warning.
warning
displays the state of all of the warnings. It is equivalent to warning('query')
.
warnStruct = warning
returns a structure or array of structures that contains information about which warnings are enabled and disabled. warnStruct
includes anidentifier
field with a warnID
or'all'
, and a state
field that indicates the state of the corresponding warning.
warning([warnStruct](#buh8kqb-1-warnStruct))
sets the current warning settings as indicated in the structure array,warnStruct
.
warning([state](#buh8kqb-1-state),[mode](#buh8kqb-1-mode))
controls whether MATLAB displays the stack trace or additional information about the warning.
warnStruct = warning([state](#buh8kqb-1-state),[mode](#buh8kqb-1-mode))
returns a structure with an identifier
field containing themode
and a state
field containing the current state of mode
. If you pass the output structure,warnStruct
, into the warning
function, you set the state of the mode
, not which warnings are enabled or disabled.
Examples
Generate a warning that displays a message.
n = 7; if ~ischar(n) warning('Input must be a character vector') end
Warning: Input must be a character vector
Include information about n
in the warning message.
if ~ischar(n) warning('Input must be a character vector, not a %s',class(n)) end
Warning: Input must be a character vector, not a double
Attach a warning identifier to the warning message.
if ~ischar(n) warning('MyComponent:incorrectType',... 'Input must be a character vector, not a %s',class(n)) end
Warning: Input must be a character vector, not a double
Disable all warnings.
Query the warnings.
All warnings have the state 'off'.
Enable all warnings, disable the singular matrix warning, and query all warnings.
warning('on') warning('off','MATLAB:singularMatrix') warning
The default warning state is 'on'. Warnings not set to the default are
State Warning Identifier
off MATLAB:singularMatrix
Re-enable the singular matrix warning.
warning('on','MATLAB:singularMatrix')
Enable all warnings, and then disable the singular matrix warning.
warning('on') warning('off','MATLAB:singularMatrix')
Save the current warning settings.
s =
2x1 struct array with fields:
identifier
state
Examine the two structures.
ans =
identifier: 'all'
state: 'on'
ans =
identifier: 'MATLAB:singularMatrix'
state: 'off'
All warnings are enabled except for'MATLAB:singularMatrix'
.
Disable and query all warnings.
warning('off') warning('query')
All warnings have the state 'off'.
Restore the saved warning state structure, and query the state.
warning(s) warning('query')
The default warning state is 'on'. Warnings not set to the default are
State Warning Identifier
off MATLAB:singularMatrix
Ensure verbose
and backtrace
settings are the default values.
warning('off','verbose') warning('on','backtrace')
Turn on all warnings, and remove a folder that does not exist on the MATLAB path.
warning('on') rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path.
In rmpath at 57
Enable verbosity to display an extended warning message.
warning('on','verbose') rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path. (Type "warning off MATLAB:rmpath:DirNotFound" to suppress this warning.)
In rmpath at 57
Disable display of the stack trace.
warning('off','backtrace') rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path. (Type "warning off MATLAB:rmpath:DirNotFound" to suppress this warning.)
Compute a singular matrix.
A = eye(2); B = [3 6; 4 8]; C = B\A;
Warning: Matrix is singular to working precision.
Find the warning identifier, save the current warning state, and disable the specific warning.
[msgStr,warnId] = lastwarn; warnStruct = warning('off',warnId); C = B\A;
Restore previous warning state.
warning(warnStruct); C = B\A;
Warning: Matrix is singular to working precision.
Input Arguments
Information about the cause of the warning and how you might correct it, specified as a character vector or string scalar. To format the message, use escape sequences, such as \t
or \n
. You also can use any format specifiers supported by thesprintf
function, such as %s
or%d
. Specify values for the conversion specifiers via the A input argument. For more information, see Formatting Text.
Note
You must specify more than one input argument withwarning
if you want MATLAB to convert special characters (such as\t
, \n
, %s
, and %d
) in the warning message.
Example: 'Input must be a character vector.'
Value that replace the conversion specifiers in msg
, specified as a character vector, string scalar, or numeric scalar.
Identifier for the warning, specified as a character vector, string scalar, 'all'
, or 'last'
. Use the warning identifier to help identify the source of the warning or to control a selected subset of the warnings in your program.
The warning identifier includes one or more component fields and a mnemonic field. Fields must be separated with colon. For example, a warning identifier with a component fieldcomponent
and a mnemonic fieldmnemonic
is specified as'component:mnemonic'
. The component and mnemonic fields must each begin with a letter. The remaining characters can be alphanumerics (A–Z, a–z, 0–9) and underscores. No white-space characters can appear anywhere in warnID
. For information on creating identifiers, see MException.
When you set the state of a warning,warnID
can have a value of 'all'
or 'last'
. Use 'all'
to set the state of all warnings, and use 'last'
to set the state of the last issued warning.
Example: 'MATLAB:singularMatrix'
Example: 'MATLAB:narginchk:notEnoughInputs'
Warning control indicator specified as 'on'
,'off'
, or 'query'
. Use'on'
or 'off'
to control whether MATLAB issues a warning. Use 'query'
to query the current state of the warning.
Warning settings, specified as a structure or array of structures that contains information about which warnings are enabled and which are disabled. warnStruct
includes anidentifier
field with a warnID
or'all'
, and state
field indicating the state of the corresponding warning.
Verbosity and the stack trace display of settings, specified by'backtrace'
or 'verbose'
. By default, the state of verbosity is set to 'off'
and the state of stack trace display is set to 'on'
.
Extended Capabilities
Usage notes and limitations:
- Code generation does not support returning warning states as MEX function outputs.
- Calls to
warning
are ignored for standalone code generation and for rapid accelerator mode in Simulink®. - Calls to
warning
insideparfor
loops are ignored. - Calls to
warning
are ignored when extrinsic calls are disabled. - Even if the
'backtrace'
mode is set to'on'
, the generated code does not produce any stack trace.
The warning
function supports GPU array input with these usage notes and limitations:
- This function accepts GPU arrays, but does not run on a GPU.
For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Version History
Introduced before R2006a