メインコンテンツ

.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 に関連するすべての例外の基底クラスです。