# assert_generror

エラーを生成する.

## 呼び出し手順

                assert_generror ( errormsg )
                assert_generror ( errormsg , errornb )

## パラメータ

expectedmsg :

  1行1列の文字列行列, 出力するエラーメッセージ

expectederrnb :

  1行1列のdouble行列,整数値,エラー番号 (デフォルト: expectederrnb=[]).

## 説明

指定した引数でエラー関数をコールします.

この関数は,予測された出力と計算された出力が一致しない エラーが発生する度にassert_check* 関数によりコールされます. assert_check* 関数に指定された 入力引数の数,出力引数の数,入力引数の型, または入力引数の内容が間違っている場合, 通常のエラー関数がコールされます. この関数はassert_check* 関数の動作を修正するために カスタマイズできます.

## 例

    // 以下のコールは共にエラーを発生します
    assert_generror ( "oups" );
    assert_generror ( "oups" , 123456789 );

    // 以下のコールはエラーを発生します
    assert_checktrue ( [%t %f] );
    //
    // エラーハンドラを定義します
    function myerror ( varargin )
        [lhs,rhs]=argn()
        errormsg = varargin(1)
        if ( rhs == 1 ) then
            mprintf( "myerror: %s\n", errormsg )
        else
            errornb = varargin(2)
            mprintf( "myerror: %s (%d)\n", errormsg , errornb )
        end
    endfunction
    //
    // 新しいエラーハンドラを設定
    back=funcprot();
    funcprot(0);
    olderrorfunction = assert_generror;
    assert_generror = myerror;
    funcprot(back);
    //
    // 新しいエラーハンドラが設定されたことを確認
    assert_checktrue ( [%t %f] );
    //
    // 通常のエラーハンドラに戻します
    back=funcprot();
    funcprot(0);
    assert_generror = olderrorfunction;
    funcprot(back);

## 履歴

5.4.0
関数が導入されました