インテル® DAAL 2018 デベロッパー・ガイド
インテル® DAAL は、ライブラリーの操作中に発生した例外やエラーを処理するクラスおよびメソッドを提供します。
ライブラリーのメソッドは、次の計算セットステータスを返します。
インテル® DAAL の C++ インターフェイスでは、エラー処理の基本クラスは Status です。アルゴリズムまたはデータ管理クラスで提供されたライブラリー・メソッドの実行が失敗した場合、各ルーチンにより返された Status オブジェクトには、エラー状態に関する詳細が追加されたエラーまたは警告のリストが含まれます。このクラスには、次のエラー処理のメソッドのリストが含まれます。
ok()
Status オブジェクトに回復できないエラーが含まれているかどうかをチェックします。
add()
エラーの識別子やエラーのポインターのような、エラーに関する情報を追加します。
getDescription()
オブジェクトに含まれていたエラーの詳細な説明を返します。
clear()
エラーに関する情報をオブジェクトから削除します。
インテル® DAAL の C++ インターフェイスでは、エラークラスは Error です。このクラスには、エラーメッセージと問題の詳細が含まれます。例えば、Error オブジェクトには、問題が発生した NumericTable の行番号や、失敗したクエリーの理由を示すために SQL データベースが生成したメッセージを格納することができます。単一 Error オブジェクトには、エラーの説明や、さまざまな型 (integer 型、double 型、文字列型) の詳細を格納することができます。
このクラスには、次のエラー処理のメソッドのリストが含まれます。
id()
エラーの識別子を返します。
setId()
エラーの識別子を設定します。
description()
エラーの詳細な説明を返します。
add[Int|Double|String]Detail()
データ型ベースの詳細をエラーに追加します。
create()
指定された引数のセットで Error クラスのインスタンスを作成します。
デフォルトでは、ライブラリー・アルゴリズムの compute() メソッドは、エラーが検出された際にランタイム例外をスローします。例外をスローしないようにするには、computeNoThrow() メソッドを呼び出します。
setResult() および setPartialResult() のようなアルゴリズムのサービスメソッドは、例外をスローしないで各操作のステータスを返します。
データ管理クラスのメソッドは、例外をスローしないで各操作のステータスを返します。
インテル® DAAL の Java* インターフェイスは、例外をスローしてエラーを処理します。
C++:
Java*: ErrorHandling.java
Python*: error_handling_throw.py