用于捕获错误的函数,指定为以逗号分隔的对组,其中包含
'ErrorHandler'
和一个函数句柄。如果
func
引发错误,
'ErrorHandler'
指定的错误处理程序将捕获该错误,并执行该函数中指定的操作。错误处理程序必须以两种方式处理错误:或者引发错误,或者返回与
func
同样数量的输出。如果
'UniformOutput'
的值为 true,则错误处理程序的输出参数必须为标量,而且数据类型必须与
func
的输出相同。
错误处理程序的第一个输入参数是包含以下字段的结构体:
错误处理程序的其余输入参数是致使
func
引发错误的
func
调用的输入参数。
假设
func
返回两个双精度值作为输出参数。您可以将错误处理程序指定为
'ErrorHandler',@errorFunc
,其中
errorFunc
是引发警告并返回两个输出参数的函数。
function [A,B] = errorFunc(S,varargin)
warning(S.identifier, S.message);
A = NaN;
B = NaN;
end
如果您不指定
'ErrorHandler'
,则
structfun
会再次引发由
func
引发的错误。