API ガイド > Maya API の基礎知識 >

# エラー チェック

これまでのサンプルでは、エラー チェックについてあまり触れませんでした。サンプルならこれで構いませんが、実際のプラグインを作成する場合は、エラーをチェックする必要があります。

ほとんどのメソッドは、オプションの最終引数を取ります。この引数は、ステータスの戻り値が保存されている MStatus 変数のポインタです。

らせんのサンプルで引数解析コードを以下のコードと置き換えると、ほとんどのエラーのチェックと処理が行われるようになります。

    // Parse the arguments.
    for ( i = 0; i < args.length(); i++ )
        if ( MString( "-p" ) == args.asString( i, &stat )
            && MS::kSuccess == stat )
        {
            double tmp = args.asDouble( ++i, &stat );
            // argument can be retrieved as a double
            if ( MS::kSuccess == stat )
                pitch = tmp;
        }
        else if ( MString( "-r" ) == args.asString( i, &stat )
            && MS::kSuccess == stat )
        {
            double tmp = args.asDouble( ++i, &stat );
            // argument can be retrieved as a double
            if ( MS::kSuccess == stat )
                radius = tmp;
        }

&stat を asString() メソッドと asDouble() メソッドに追加すると、キャスト操作が成功したかどうかをチェックできます。

たとえばインデックスが引数の数より大きい場合、args.asString(i, &stat) は MS::kFailure を返します。

または

引数を double に変換できない場合、args.asDouble(++i, &stat) はエラーになります。