uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

付録A.1 エラー発生時の処理

トランスレータでエラーが発生したときの処理,及びエラー発生時の対策としてログファイルの参照方法について説明します。

<この項の構成>
(1) FDL及びMDLエディタ
(2) トランスレータ
(3) データ変換処理API(Java言語)での実行時に固有の処理

(1) FDL及びMDLエディタ

エディタ画面上にエラーメッセージを出力します。メッセージに従って対処してください。

(2) トランスレータ

ここでは,コマンド又はAPIでトランスレータを実行している場合にエラーが発生したときの処理を説明します。データ変換処理API(Java言語)を使用している場合,エラー発生時には,固有の処理があります。データ変換処理API(Java言語)を使用している場合は,ここでの説明と合わせて,「付録A.1(3) データ変換処理API(Java言語)での実行時に固有の処理」を参照してください。

(a) エラー発生時の処理

トランスレータは,エラー発生時に次のように処理します。

各処理について次に説明します。

戻り値をログファイルに出力
戻り値をログファイルに出力します。メッセージに戻り値を付けて出力するので,メッセージのエラーレベルを判定できます。エラーレベルについては,「付録B.1 メッセージ形式」を参照してください。

変換時のエラー情報をログファイルに出力
変換時のエラー情報としてエラーメッセージをログファイルに出力します。ログファイルを参照して,エラーの詳細情報を確認できます。メッセージについては「付録B.3 メッセージ」を参照してください。

APIでの実行時に,エラー情報をエラーリスト(APIパラメタ)に出力
APIでの実行時に,エラー情報をエラーリストに出力します。
C言語のAPI及びエラーリストについては「9.2.1 ETtrans2Init(トランスレータの初期化)」,及び「9.2.9 ETtrans2Exec(変換実行)」を参照してください。Java言語のAPIのエラー情報については,「付録A.1(3)(b) エラーコード」を参照してください。

CII標準形式ファイルを入力した場合に,CIIエラーメッセージファイルを出力
-CIIEオプション指定時にCII標準形式ファイルを入力した場合,CIIエラーメッセージファイルを出力します。メッセージ内に設定するエラーコードと,トランスレータで出力するエラーメッセージとの対応については,「付録G CIIシンタックスルールのサポート範囲」及び「付録G.3 エラーコードの対応」を参照してください。
(b) ログファイルの参照方法

トランスレータのログファイルは,データの変換結果として戻り値やエラーメッセージなどを出力するテキストファイルです。ログファイルに出力する項目やログファイルの出力先について次に説明します。

ログファイルに出力する項目

ログファイルの出力先と参照方法
ログファイルは,コマンド実行時に指定したファイル(省略時はデフォルトログファイル)へ出力されるので,テキストエディタなどで開いて参照できます。

ログファイル名
ログファイル名は,トランスレータのコマンドの引数として指定できます。ログファイル名を指定しなかった場合は,デフォルトのログファイル「errlog.txt」(Interschemaのインストールディレクトリ/log下に格納)にログが出力されます。また,ログファイル名を指定しても,ファイル名に誤りがあるなどの理由でファイルを開けなかった場合には,デフォルトのログファイル,又は標準出力にログが出力されます。

ログファイルのサイズ
ログファイルは,システム情報ファイル「ettrans.ini」に指定した最大サイズ以内で出力されます。指定した最大サイズを超えた場合は,ファイル内の古い出力情報から削除されます。ログファイルの初期値の最大サイズは1,000キロバイトです。ただし,ログ出力抑止指定がある場合は出力しません。最大サイズは,1キロバイトから10,000キロバイトまでの範囲で変更できます。最大サイズを変更する場合は,「5.3(1)(a) ログファイルサイズの変更」を参照してください。ログファイルの出力を抑止する場合は,「5.4.3 システム情報ファイル「ettrans.ini」での実行時オプションの定義」を参照してください。

(3) データ変換処理API(Java言語)での実行時に固有の処理

ここでは,データ変換処理API(Java言語)でトランスレータを実行している場合に固有のエラーが発生したときの処理について説明します。データ変換処理API(Java言語)でトランスレータを実行している場合にエラーが発生した場合,「付録A.1(2) トランスレータ」の内容と合わせて,ここで説明する内容が必要になります。

(a) エラー発生時の処理

データ変換処理API(Java言語)は,エラー発生時に次のように処理します。

データ変換処理API(Java言語)は,Java Navive Interface(JNI)を使用してデータ変換処理API(C言語)を呼び出します。データ変換処理API(C言語)の処理でエラーが発生した場合は,エラー情報をログファイルに出力します。データ変換処理API(Java言語)の処理でエラーが発生した場合は,例外によってエラーを通知します。

エラー情報をログファイルに出力
データ変換処理API(C言語)がログファイルに出力するエラー情報は,Translatorクラスに指定する変換用のエラー情報,及びそれ以外のエラー情報があります。変換用のエラー情報以外のエラー情報は,デフォルトのログファイル(Interschemaのインストールディレクトリ/log/errlog.txt)に出力されます。ログファイルに出力されるエラー情報については,「付録B.3 メッセージ」を参照してください。

エラー情報を例外で通知
データ変換処理API(Java言語)が出力する例外については,「付録B.4 データ変換処理API(Java言語)の例外」を参照してください。
(b) エラーコード

データ変換処理API(Java言語)で発生するエラーコードを次に示します。エラーコードの値は,TranslatorException例外に設定されて,getErrorCodeメソッドで取得できます。

表A-1 エラーコード一覧

意味
(0x)2000xxxx 続行できないレベルのエラーが発生しました。
(0x)4000xxxx トランスレータ内部で致命的なエラーが発生しました。
xxxxの値 0nnn 各クラス共通のエラーが発生しました。
1nnn 初期化処理でエラーが発生しました。
2nnn Translatorクラスでエラーが発生しました。
3nnn MDLInfoクラスでエラーが発生しました。
4nnn DLPropertyクラスでエラーが発生しました。
5nnn TranslateDataクラス,又はその派生クラスでエラーが発生しました。

注※
nnnのコードは,000から順に付けられます。