gpt4 book ai didi

matlab - 在matlab中抛出 "out of range"

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:52 24 4
gpt4 key购买 nike

我有一个案例,我想在 matlab 中抛出一个超出范围的异常,但也给出了向量超出范围的原因(向后兼容性不好)。当然可能有某种fprintf()... error('out of range')。不过感觉这里还是走正路比较好,因为

try
a = b(c);
catch err
throw(err,'Identifier');
error('lack support for particular case');
end

问题是:如何创建err?还有:在 matlab 中调用的“超出范围”的标识符是什么?

错误消息不同的原因是因为对于 fprintf 情况,超出范围不应仅通过注释传递。

最佳答案

在声明中

try
doSomethingThatMayResultInError();
catch me
doSomethingWithTheError(me);
end

meMException 类的一个对象包含错误的所有信息,包括堆栈跟踪。

如果您想为抛出的错误添加额外的信息,您可以按以下方式进行:

try
doSomethingThatMayResultInError(a,b);
catch me
%# throw a more easy-to-understand error
error(['This use case, i.e. with length of a (%i) different from length of b (%i)'...
'is not supported. Error details: %s'], length(a), length(b), me.message)
end

当然,您可以通过添加例如带有错误标识符 (me.identifier) 的 switch/case 语句,尽管您应该被告知错误标识符在最近几个 Matlab 版本中已经更改了几次。

关于matlab - 在matlab中抛出 "out of range",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com