这个机制就像是C语言里面的<stdio.h>中的exit(0),能让程序退出而不显示各种错误。虽然matlab是脚本语言,没有编译链接运行时错误之分。但是当程序规模很大时,也需要参数检查,如果传过来一个空的参数,直接程序停止运行也是很有必要的。现在我知道的有3种办法:
1.使用error函数。具体内容可以自行help。举一个简单的例子:
function [ B ] = testBFunc( A )
if 0 == A
error('A == 0 ! ');
else
B = 1;
end
end
这样如果穿过来一个为0的数,就成就会停止,并且在控制台上显示:
Error using testBFunc (line 3)
A == 0 !
Error in test1 (line 5)
testBFunc(0);
2.使用try-catch机制。这个与C++中的比价类似。但是也挺麻烦的,我就不多说了。
3.这个办法比较巧妙,利用了matlab的返回值来实现:
function [ B ] = testBFunc( A )
if 0 == A
B = 0;
disp('参数错误,程序退出');
return;
else
B = 1;
end
end
clear all;
close all;
clc
res = testBFunc(0);
if 0 == res
return;
end
这个方法的问题就在于,有些算法程序,返回值什么很不确定,在调用它的函数中很难判断。