Main Content


Validate that value is nonempty



mustBeNonempty(value) throws an error if value is empty. This function does not return a value.

mustBeNonempty calls the following function to determine if the input is nonempty:

Class support: All MATLAB® classes


collapse all

Use mustBeNonempty to validate that the input is not empty.

Create a containers.Map.

A = containers.Map;

Validate that A is not an empty value.

Values must not be empty.

Creating a containers.Map with no input arguments results in an empty object.

This class restricts the value of Prop1 to nonempty values. The default value must also be nonempty.

classdef MyClass
      Prop1 {mustBeNonempty} = containers.Map(1,'First')

Create an object and assign a value to its property.

obj = MyClass;
obj.Prop1 = containers.Map;
Error setting 'Prop1' property of 'MyClass' class. Values must not be empty.

When you assign a value to the property, MATLAB calls mustBeNonempty with the value being assigned to the property. mustBeNonempty issues an error because the value assigned to Prop1 is empty.

This function restricts the input argument to be a nonempty character vector.

function str = mbNonempty(name)
        name (1,:) char  {mustBeNonempty}
    str = sprintf('Name: %s',name);

Calling this function with an empty character vector results in an error being thrown by mustBeNonempty.

Error using mbNonempty
Invalid input argument at position 1. Value must not be empty.

Input Arguments

collapse all

Value to validate, specified as a scalar or array of any MATLAB type or class

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | struct | table | cell | function_handle | categorical | datetime | duration | calendarDuration
Complex Number Support: Yes


  • mustBeNonempty is designed to be used for property and function argument validation.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2017a