バーコード・モジュールはライブラリの標準エラー・ハンドリングを使用します。エラーが発生した場合(多くはデータ検証が失敗した場合)に備えて例外処理を設けます。エラーは次の2つの方法で処理されます。
次のコードはtry-catchステートメントの使用例です。
<?php
try {
$encoder = BarcodeFactory::Create(ENCODING_CODE39);
$e = BackendFactory::Create(BACKEND_IMAGE,$encoder);
$e->Stroke('abc123');
} catch( JpGraphException $e ) {
echo 'Error: ' . $e->getMessage()."\n";
}
?>
コードを走らせると次のようなデータ検証エラーの内容を返します。
Error: Data validation failed. Can't encode [abc123] using encoding "CODE 39"
ここで入力データ文字列上、問題になるのは、「Code 39」シンボロジーはアルファベットの小文字の暗号化をサポートしていないことです。エラー・ハンドラーを必要として、且つ画像エラーを表示したいときには、次のように元の例外処理を再度記述します。
<?php
try {
$encoder = BarcodeFactory::Create(ENCODING_CODE39);
$e = BackendFactory::Create(BACKEND_IMAGE,$encoder);
$e->Stroke('abc123');
} catch( JpGraphException $e ) {
JpGraphError::Raise($e->getMessage());
}
?>
JpGraphError::Raise($e->getMessage());
このコードは次のような画像エラーを表示します。
次に、コマンド・ライン・バーコード・ユーティリティで、他の初期設定エラー・ハンドラーをインストールする別の方法を紹介します。