例外がスローされました
症状
Decision Designerで意思決定モデルまたはタスク・モデルを実行すると、例外がスローされます。
以下のエラー・メッセージは、 NullPointerExceptionの例を示しています。
Run error
java.lang.NullPointerException
Exception java.lang.NullPointerException
in action of rule 'corporate score"
Bindings: [-200.0, decisions.techpreview_samples.loan_validation.loanvalidationdata.newtype1@d5a71066,200.01
in node 'Corporate Score'
in decision model 'LoanValidationDecisionModel-loanValidationDecisionModel'
in decision operation with execution id "'
ArithmeticExceptionなど、他のタイプの例外がスローされる可能性があります。
原因
ルール・アクションで例外が発生しました。 この種の例外は、例えば、オブジェクトの属性を取得できない場合に発生する可能性があります。
「症状」 セクションに示されているエラー例を例に取ると、Loan Approval サンプルから corporate score ルールを実行したときに、クレジット・スコアが見つからない場合にスローされます。
set decision to 'Bankruptcy Score' + 'Salary Score' + the credit score of Borrower ;実行しているモデルのタイプに応じて、ルールのアクション部分またはルールの条件部分のいずれかで例外をスローすることができます。
| ルール部分 | 意思決定モデル | タスク・モデル |
|---|---|---|
| ルール条件 | ✗ | ✓ |
| ルール・アクション | ✓ | ✓ |
意思決定モデルでは、ルール条件の例外は、自動例外処理によって自動的に処理されます。 詳しくは、 ルールが実行されないを参照してください。
問題の解決
例外が発生しないようにするために、ルールに条件を追加できます。
例えば、 コーポレート・スコア ・ルールを使用する場合、クレジット・スコアが非ヌルの場合にのみ意思決定の値が設定されることを示す条件を追加できます。
if the credit score of Borrower is not null
then set decision to 'Bankruptcy Score' + 'Salary Score' + the credit score of Borrower ;