Main Content

mustBeNonempty

Validate that value is nonempty

Description

example

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

Examples

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.

mustBeNonempty(A)
Error using mustBeNonempty (line 13)
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
   properties
      Prop1 {mustBeNonempty} = containers.Map(1,'First')
   end
end

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)
    arguments
        name (1,:) char  {mustBeNonempty}
    end
    str = sprintf('Name: %s',name);
end

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

mbNonempty('')
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

Tips

  • 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™.

Introduced in R2017a