.NET の MathWorks.MATLAB.Exceptions 例外クラス
MathWorks.MATLAB.Exceptions 名前空間は、.NET 用の以下の例外クラスを定義します。
MathWorks.MATLAB.Exceptions.MATLABExecutionException
関数またはステートメントに MATLAB® ランタイム エラーが存在します。
次の C# コードでは、関数 unknown_function が有効な MATLAB 関数でない場合は、MATLABExecutionException をスローします。
using (dynamic eng = MATLABEngine.StartMATLAB()) {
eng.disp(new RunOptions(nargout: 0), "MATLAB started.");
try {
eng.unknown_function();
} catch (MATLABExecutionException) { }MathWorks.MATLAB.Exceptions.UnsupportedTypeException
.NET 型をネイティブ MATLAB 型に変換できません。
次の C# コードでは、System.Decimal 型の変数を作成し、それを MATLAB 関数に渡します。この .NET 型は MATLAB 型に変換できないため、コードで UnsupportedTypeException エラー メッセージが表示されます。
try
{
decimal myData = decimal.One;
eng.disp(new RunOptions() { Nargout = 0 }, myData);
}
catch (UnsupportedTypeException e)
{
Console.WriteLine(e.Message);
}MathWorks.MATLAB.Exceptions.MATLABNotAvailableException
MATLAB セッションの開始に失敗したか、接続に失敗したか、切断されました。
次の C# コードでは、名前付き共有 MATLAB セッションに接続できない場合にメッセージを表示します。
try {
using (dynamic matlab = MATLABEngine.ConnectMATLAB("MATLAB_1234")) {
matlab.disp(new RunOptions(nargout: 0), "Hello, MATLAB_1234.");
}
} catch (MATLABNotAvailableException) {
Console.Error.WriteLine("Could not locate or connect to MATLAB_1234.");
} 次の VB.NET コードでは、名前付き共有 MATLAB セッションに接続できない場合にメッセージを表示します。
Option Strict Off
Try
Using matlab As Object = MATLABEngine.ConnectMATLAB("MATLAB_1234")
matlab.disp(New RunOptions(nargout:=0), "Hello, "MATLAB_1234.")
End Using
Catch ex As MATLABNotAvailableException
Console.WriteLine("Could not connect to MATLAB_1234.")
End Try
MathWorks.MATLAB.Exceptions.MATLABException
この一般例外は、他の MathWorks.MATLAB.Exceptions オブジェクトが検出されない場合にスローされます。これは、System.Exception から派生した、.NET に関連するすべての例外の基底クラスです。