exponenta event banner

класс matlab.lang.correction.RepleyIdentifityCorrection

Пакет: matlab.lang.correction

Исправление ошибки путем замены идентификатора в вызове функции

Описание

Использовать ReplaceIdentifierCorrection объекты в функциях, которые вызывают MException объект. MException использование ReplaceIdentifierCorrection экземпляры для отображения предложений по неправильным идентификаторам в вызовах функций.

Создание

Описание

пример

ric = matlab.lang.correction.ReplaceIdentifierCorrection(identifier,replacement) создает исправление, предлагающее замену identifier с replacement в вызове функции, который вызвал MException объект.

Входные аргументы

развернуть все

Неверный идентификатор в вызове функции, указанный как строковый скалярный или символьный вектор. identifier должен быть допустимым идентификатором MATLAB ®. Допустимый идентификатор MATLAB - это строковый скалярный или символьный вектор буквенно-цифровых символов (A-Z, a-z, 0-9) и символов подчеркивания, где первым символом является буква, а длина текста меньше или равна namelengthmax.

Предлагаемый идентификатор для использования в вызове функции, указанный как строковый скалярный или символьный вектор. replacement должен быть допустимым идентификатором MATLAB.

Примеры

свернуть все

Функции walk и sprint требуют, чтобы их входные аргументы попадали в различные диапазоны, и их диапазоны не перекрываются. Чтобы добавить предложенную замену в сообщение об ошибке при вызове одной из этих функций с неправильным значением, включите ReplaceIdentifierCorrection экземпляр в каждой функции.

Создание функции walk путем сохранения следующего кода в walk.m.

function walk(speed)
if speed > 6.5
    ric = matlab.lang.correction.ReplaceIdentifierCorrection('walk', 'sprint');
    error(ric, 'walk:maxSpeed', 'Cannot walk faster than 6.5 km/h.')
elseif speed <= 0
    error('walk:minSpeed', 'Speed must be greater than zero.')
end
fprintf('You are walking at a speed of %2.2f km/h.\n', speed)
end

Создание функции sprint путем сохранения этого кода в sprint.m.

function sprint(speed)
if speed <= 6.5
    ric = matlab.lang.correction.ReplaceIdentifierCorrection('sprint', 'walk');
    error(ric, 'sprint:minSpeed', 'Cannot sprint slower than 6.5 km/h.')
elseif speed > 20
    error('sprint:maxSpeed', 'Cannot sprint faster than 20 km/h.')
end
fprintf('You are sprinting at a speed of %2.2f km/h.\n', speed)
end

Звонить walk со входом больше, чем 6.5.

walk(10)
Error using walk (line 4)
Cannot walk faster than 6.5 km/h.

Did you mean:
>> sprint(10)

См. также

Функции

Свойства

Представлен в R2019b