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