1.定義とスロー
2は、例外を処理するためにアクセスします。
Mでも同様のメカニズム、そして我々の詳細です。
M言語の異常と異常マーク
M言語は何をして異常が?主に以下の分野における一般的な異常:
1、間違った関数パラメータ生成されたエラー
例えばNumber.ToText(数)だけ数値パラメータ、プログラムの他のタイプの直接エラーのパラメータを扱うことができるため。
てみましょう 結果= Number.ToText( "1") に 結果
例えば、+デジタルまたは時間型のデータが追加されただけのために署名が、場合両側プラス他のタイプのデータの出現はプログラムについて説明します
てみましょう 結果= 1+ "1" に 結果
どのようにそれはエラーメッセージを定義していますか?実際には非常に単純な、それをキーワードにエラー+エラーメッセージを使用して
小さな例:
てみましょう -1の値は、最初に、あなたが例外をスローすることができるようならば、A = -1、//は、変数を定義します 結果=これは> 0はそれ以外の場合はエラーをスローしたときに値を返す式であれば//他のエラー「ポジティブではない」それから> 0であれば に 結果
M言語の習得珍しい方法
私たちは、表現がトライキーワードを使用するには、例外をスロー必要かどうかを見てみたいです。次のように使用方法は以下のとおりです。
式をテストすることがしてみてください
[ HasError =真、 エラー= [ 理由= "Expression.Error"、 メッセージ=「エラーメッセージ」、//エラーメッセージここでは、キーワードでのエラーの背後にある文字列です。 詳細= nullを ] ]
[ HasError = FALSE; 正しい結果の値=式をテストします ]
私たちは式の変数の値を割り当てることができます
結果=式をテストすることを試みます
その後、レコードインデックスによりエラーとエラーメッセージまたは結果の最終値の式を得ることができます。
結果[HasError] // TRUEまたはFALSEの値を決定します 例外が命令をスローされたときに結果が[HasError] TRUEである場合は、エラーメッセージを取得する結果[エラー] [メッセージ]を使用することができます 何の説明例外がスローされていない場合、結果は[HasError] FALSEであるときは、その結果の発現を得るために結果[値]を使用することができます
小さな例:
聞かせて販売= [ 商品名=「釣りロッド」、//名前 収入= 2000、//収入 単位= 1000、//数 単価=単位= 0、エラー「単位なし」の場合 他の収益/単位//単位は例外がそれ以外の場合は平均スローさ0のとき ]、 textUnitPrice =試すNumber.ToText(販売[単価])、 //デジタル型準の平均価格は、テキストタイプを置き換えます ラベル=「単価:」& (もしtextUnitPrice [HasErrorそして textUnitPrice [エラー] [メッセージ] 他 textUnitPrice [値]) に ラベル
「単価:2」
「単価:単位なし」
一般的なシナリオは、デフォルト値と間違って交換することです。試す式は上記の手順は、よりコンパクトで単純な形式で実現するために、そうでなければ任意の句で使用することができます。
聞かせて販売= [ 商品名=「釣りロッド」、 収入= 2000、 単位= 1000、 単価=単位= 0、エラー「単位なし」の場合 他の収益/単位 ]、 textUnitPrice = Number.ToText(販売[単価])それ以外の場合は "単位なし" をしてみてください、 ラベル= "単価:" &textUnitPrice に ラベル
多くの機能は、一度にMicrosoftが開発事業者は、エラー情報を定義していたM言語は、我々が直接、エラーメッセージの表現を取得するために時間を使うことができるようになります使用しようとすることに注意してください、少しの友人が前を思い出しましたプラス+テキストと数字を使用する際に一緒にエラーの導入につながり、このエラーメッセージは、開発者がすでに定義されていることです。