システム内部では、考えられるさまざまな不具合に対し、 やや厳格な処理を行っています。
このシステムでは、不具合を次の 4種類に分けて扱います。
各種定義ファイルの中でエラーや警告を表す場合、 通常はエラーコードとして扱います。 エラーコードは文字列でなければいけません。
エラーコードが ':' で始まる場合は、先頭の ':' を除いた文字列が、 エラーや警告の内容を表します。 (例えば、':1〜9 の整数を指定してください。' のように記述されます。)
エラーコードが ':' 以外の文字で始まる場合は、 エラーメッセージ定義ファイル の対応する文字列が、エラーや警告の内容を表します。 対応するエラーメッセージがエラーメッセージ定義ファイルに書かれていない 場合は、致命的なエラーになります。
複数言語のインターフェイスをもつアプリケーションなどの、 インターフェイスに応じて頻繁にメッセージを変える必要があるような 特別な場合でなければ、 ':' で始まる文字列を利用したほうがよいでしょう。 さもなければ、記述漏れによる致命的なエラーのことを 考えなければいけなくなります。
システムは、致命的なエラーが発生したときや、 正しくデータが挿入されたときなど、要所でログを残します。
1件分のログの情報は1行にまとめられ、 ログファイルに追加されます。ロギングの処理は全て DBIPgSystem::DB::add_log メソッド を呼び出すことで行われます。 詳細はモジュールのドキュメントやソースを参照してください。