在创建。net应用程序时,正确处理运行时错误和管理资源是一个很好的实践。
与托管代码一样,在MATLAB执行过程中发生的任何错误®函数或数据转换过程中,由标准的。net异常发出信号。
与任何其他。net应用程序一样,一个应用程序调用由MATLAB编译器SDK™产品可以通过以下两种方式处理错误:
在本地捕获并处理异常
允许调用方法捕获它
下面是处理错误的各种方法的示例。
在GetPrimes
方法本身处理异常。
public double[] GetPrimes(int n) {MWArray primes= null;MyPrimesClass MyPrimesClass =零;try {myPrimesClass= new myPrimesClass ();质数= myPrimesClass.myprimes (n)(双);返回(double []) (MWNumericArray)素数)。ToVector (MWArrayComponent.Real);} catch(异常ex){控制台。WriteLine(例外:{0},练习);返回新双[0];}}
在下一个示例中,调用的方法myprimes
不捕获异常。相反,它的调用方法(即,调用被调用的方法的方法)myprimes
)处理异常。
public double[] GetPrimes(int n) {MWArray primes= null;MyPrimesClass MyPrimesClass =零;try {myPrimesClass= new myPrimesClass ();质数= myPrimesClass.myprimes (n)(双);返回(double []) (MWNumericArray)素数)。ToVector (MWArrayComponent.Real);} catch(异常e){抛出;}}
通常处理
方法调用最后
在一个部分试一试
-最后
你可以在下面的例子中看到:
try{/*分配一个巨大的数组*/ MWNumericArray array = new MWNumericArray(1000,1000);。。(使用数组)。{/*显式地释放托管数组和它的*/ /*原生资源*/ if (null != array) {array. dispose ();}}
该声明array.Dispose ()
释放托管包装器和本机MATLAB数组分配的内存。
的MWArray
类提供了两个处理方法:处理
static方法DisposeArray
。的DisposeArray
方法更一般,因为它处理单个MWArray
或类型数组的数组MWArray
。