Можно использовать оператор try/catch, чтобы выполнить код после того, как программа столкнется с ошибкой. операторы try/catch могут быть полезными если вы:
Хочу закончить программу в другом отношении, которая избегает ошибок
Должен очистить нежелательные побочные эффекты ошибки
Имейте много проблематичных входных параметров или команд
Расположите операторы try/catch в блоки кода, подобные этому псевдокоду:
try try block... catch catch block... end
try block, MATLAB® пропускает любые остающиеся команды в блоке try и выполняет команды в catch block. Если никакая ошибка не происходит в try block, MATLAB пропускает целый catch block.Например, оператор try/catch может предотвратить потребность выдать ошибки. Рассмотрите функцию combinations, которая возвращает количество комбинаций элементов k от элементов n:
function com = combinations(n,k) com = factorial(n)/(factorial(k)*factorial(n-k)); end
k > n. Вы не можете создать набор с большим количеством элементов, k, чем элементы, которыми вы обладаете, n. Используя оператор попытки/выгоды, можно избежать ошибки и выполнить эту функцию независимо от порядка входных параметров:function com = robust_combine(n,k) try com = factorial(n)/(factorial(k)*factorial(n-k)); catch com = factorial(k)/(factorial(n)*factorial(k-n)); end end
robust_combine обрабатывает любой порядок целых чисел как допустимые входные параметры:C1 = robust_combine(8,4) C2 = robust_combine(4,8)
C1 =
70
C2 =
70Опционально, можно получить больше информации об ошибках, если переменная следует оператором catch:
catch MExc
MExc является объектом класса MException, который содержит больше информации о выданной ошибке. Чтобы узнать больше о доступе к информации от объектов MException, смотрите Обработку исключений в приложении MATLAB.