Home > コンセプトペーパ > Magic xpiのエラー処理 > 追加シナリオ > .NET Utilityのエラー
以下の手順で .NET Utilityのエラーコードを Magic xpiに追加することができます。
ソリューションエクスプローラの[リポジトリ]セクションから、エラーを選択してください。[エラーリポジトリ]が開きます。
リポジトリの上部の[コンポーネント]ドロップダウンリストから、ユーザエラーを選択してください。
[追加]をクリックします。
.NETクラスのInvokeメソッドのIBFlowContext オブジェクトのErrorCode およびErrorMessage プロパティに値を設定することでエラーをスローすることができます。ErrorCode プロパティの値は Magic xpiの[エラーリポジトリ]に予め.NET Utilityのエラーとして登録されている値を設定しなければなりません。このリポジトリ内で、[コンポーネント]ドロップダウンリストから.NETオプションを選択することにより、.NET Utilityのエラーをフィルタリングすることができます。
[エラーポリシー]リポジトリで、.NETステップがスローすることができるエラーの動作を定義することができます。
コンテキスト変数である C.sys.ErrorCode と C.sys.ErrorDescription は以下の手順で更新されます。
ErrorCode と ErrorMessage の両方を .NET側で更新すると、 Magic xpiは上記2つのコンテキスト変数を .NET側で更新された値で更新します。
.NET側で ErrorCode を更新し、ErrorMessageを更新しなかった場合、 Magic xpiは C.sys.ErrorCode 変数を.NET側のErrorCode で更新し、[エラーリポジトリ]にその ErrorCodeが定義されている場合、C.sys.ErrorDescription 変数は[エラーリポジトリ]に定義されている値で更新されます。
例外がスローされた場合、 Magic xpiは C.sys.ErrorCode 変数に 777 を設定し、C.sys.ErrorDescription 変数には.NET側でスローされた例外が設定されます。
ErrorCode が[エラーリポジトリ]のユーザエラーリストに定義されていない場合、Error Code does not exist for the selected component (選択したコンポーネントにはエラーコードが存在しない)というエラーが表示されます。