主要内容

错误处理和资源管理

在创建。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