Droolsの例外処理とは何ですか

私たちは詳細にDroolsの例外処理を記述してみましょう. Droolsのでは, デフォルトの例外ハンドラとして知られています “その結果例外ハンドラ”. それは次のような最小限の情報を提供します.

A) ルール
B) 例外が起きた場合には
C言語) Javaスタックトレースと原因

Droolsのは、また、独自のカスタム例外を書くことができhandler.The “ConsequenceException” 拡張 “java.lang.RuntimeException”.コンストラクタのシグネチャは次のとおりです.

ConsequenceException(Throwable rootCause, ルールルール)

利用可能な唯一の方法があります “公共のルールgetRule()”.

ザ・ “ConsequenceExceptionHandler” 使用可能なカスタムhandler.The唯一の方法を記述するために実装されたインタフェースは、以下の通りである、それはカスタム処理を行うために上書きされています.

空洞handleException(アクティベーションの活性化,
WorkingMemoryはWorkingMemoryは,
例外例外)

サンプルコードが以下に与えられます :-

import java.io.Externalizable;
import org.drools.runtime.rule.ConsequenceExceptionHandler;
public class CustomConsequenceExceptionHandler
implements ConsequenceExceptionHandler, Externalizable {
public void handleException( Activation activation,
WorkingMemory workingMemory,
Exception exception ){
// Write custom handling code here.
}
}

カスタム処理を改善するために、 “RuntimeException” また、拡張することができます.

ルールファイルを識別するための (.DRL) コンパイルエラー, “hasErrors()” 方法 “KnowledgeBuilder” クラスを使用することができます. メソッドを実装するためのサンプル・コード・スニペットを以下に示します.

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newFileResource("D:/Workspace/TestProj/src/Test.drl"), ResourceType.DRL);

場合 (kbuilder.hasErrors()) {
System.out.printlnは(kbuilder.getErrors().toStringメソッド());
新しいのRuntimeExceptionをスロー(“コンパイルすることができません”Test.drl ”.”);
}

============================================= ============================================== Amazonで最高のTechAlpine Booksを購入してください,en,電気技師CT栗,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share