При создавании приложения.NET это - хорошая практика, чтобы правильно обработать ошибки времени выполнения и управлять ресурсами.
Как с управляемым кодом, любые ошибки, которые происходят во время выполнения MATLAB® функционируйте или во время данных преобразование сообщено стандартным исключением.NET.
Как любое другое приложение.NET, приложение, которое вызывает метод, сгенерированный MATLAB Compiler SDK™, может обработать ошибки или ловлей и обрабатыванием исключения локально или разрешением вызывающего метода отловить его.
Вот примеры для каждого способа обработки ошибок.
В GetPrimes
пример, сам метод обрабатывает исключение.
public double[] GetPrimes(int n)
{
MWArray primes= null;
MyPrimesClass myPrimesClass= null;
try
{
myPrimesClass= new MyPrimesClass();
primes= myPrimesClass.myprimes((double)n);
return ((double[])(MWNumericArray)primes).
ToVector(MWArrayComponent.Real);
}
catch (Exception ex)
{
Console.WriteLine("Exception: {0}", ex);
return new double[0];
}
}
В следующем примере, метод, который вызывает myprimes
не отлавливает исключение. Вместо этого его вызывающий метод (то есть, метод, который вызывает метод, который вызывает myprimes
) обрабатывает исключение.
public double[] GetPrimes(int n)
{
MWArray primes= null;
MyPrimesClass myPrimesClass= null;
try
{
myPrimesClass= new MyPrimesClass();
primes= myPrimesClass.myprimes((double)n);
return ((double[])(MWNumericArray)primes).
ToVector(MWArrayComponent.Real);
}
catch (Exception e)
{
throw;
}
}
Как правило, Dispose
метод называется от finally
разделите в try
- finally
блок.
try
{
/* Allocate a huge array */
MWNumericArray array = new MWNumericArray(1000,1000);
.
. (use the array)
.
}
finally
{
/* Explicitly dispose of the managed array and its */
/* native resources */
if (null != array)
{
array.Dispose();
}
}
Оператор array.Dispose()
освобождает память, выделенную и управляемой оболочкой и нативным массивом MATLAB.
MWArray
класс предоставляет два метода распоряжения: Dispose
и статический метод DisposeArray
. DisposeArray
метод является более общим в этом, он избавляется от любого один MWArray
или массив массивов типа MWArray
.