.NET API から MStatus 戻りコードを除去する

MStatus クラスは、Maya の .NET API には存在しません。MStatus を返す関数は、C++ では void 関数に変換されているか、C# では boolean を返して Maya に特殊なケースを示します。たとえば、Maya がプラグインの代わりに処理を行う場合です。.NET API では、これらの関数は、MStatus.kSuccess の代わりに true または false を返します。

次の関数は、MStatus.kFailure の代わりに false を返します。

次の関数は、MStatus.kUnknownParameter の代わりに false を返します。

次の関数は、MStatus.kNotImplemented の代わりに false を返します。

次の関数は、MStatus.kNotFound の代わりに false を返します。

この動作は、プラグインが呼び出す Maya 関数にも適用されます。たとえば、失敗した場合、C++ で kFailure を返す関数は、C# では代わりに例外のタイプ ApplicationException をスローします。次の例外のタイプがあります。

Maya がプラグイン(たとえば、MPxCommand 派生クラスの仮想メソッド doIt())を呼び出すときは、呼び出しを常に try-catch 節で囲みます。関数によって、または関数が呼び出した Maya 関数によってスローされた例外を受け取った場合、メッセージ ボックスが表示され、コールスタックを含む例外の詳細が示されます。これは、デバッグに非常に便利な場合があります。

重要: この高度な try-catch のおかげで、特別な方法で例外に反応しない場合は、Maya 関数の呼び出しを try-catch 節で囲む必要がありません。