matlab.lang.correction.ReplaceIdentifierCorrection class

Пакет: 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